IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Macros et VBA Excel Discussion :

séparation et transfert de colonnes dans plusieurs feuilles d'un nouveau classeur


Sujet :

Macros et VBA Excel

  1. #1
    Futur Membre du Club
    Homme Profil pro
    Inscrit en
    Juillet 2011
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Juillet 2011
    Messages : 5
    Points : 6
    Points
    6
    Par défaut séparation et transfert de colonnes dans plusieurs feuilles d'un nouveau classeur
    Bonjour,

    je suis débutant en prog VBA, j'ai fais une macro permettant de transférer des colonnes d'un 1er classeur vers un second qui se crée instantanément. Plusieurs erreurs sont survenues, erreur 9 puis 13 incompatibilité de type. Le problème vient surement dans l'identification des classeurs et des feuilles mais je suis perdu.

    Je n'arrive pas à trouver l'erreur dans le code, il y a surement quelques chose que je ne saisi pas encore.
    le débogage indique la ligne suivante

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Set ws_source = wb_source.Sheets(nom_onglet)
    Voici le code

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    Sub Transfert()
    '
    ' Transfert Macro
    '
    ' Touche de raccourci du clavier: Ctrl+t
     
    Dim xlApp As Excel.Application
    Dim xlBook As Excel.Workbook
    Dim xlSheet As Excel.Worksheet
    Dim source As Excel.Worksheet
    Set source = ActiveSheet
    Dim nom_onglet As String
    nom_onglet = ActiveSheet.Name
    Dim nom_target As String
    nom_target = nom_onglet & ".xls"
    Dim nom_source As String
    nom_source = nom_onglet & ".csv"
    Dim wk_source As Workbooks
    Dim wk_target As Workbooks
    Dim ws_source As Worksheets
    Dim ws_target As Worksheets
    Dim cell_source_1er As Range
    Dim cell_source_der As Range
    Dim cell_target As Range
     
    'On créer l'objet Excel
    Set xlApp = CreateObject("Excel.Application")
    'On défini le nombre d'onglets (ici 1)
    xlApp.SheetsInNewWorkbook = 1
    'On ajoute un classeur
    Set xlBook = xlApp.Workbooks.Add
    'On donne un nom au classeur
    xlBook.SaveAs Filename:=nom_target
    'On rend le classeur visible
    xlApp.Visible = True
    'On créer l'objet onglet dans le nouveau classeur créé
    Set xlSheet = xlBook.Worksheets(1)
    'On affecte un nom aux l'onglets
    xlSheet.Name = nom_onglet
    'On remet la propriété de l'application à 3 (par défaut)
    xlApp.SheetsInNewWorkbook = 3
     
    Set wb_source = Workbooks(nom_source)
    Set ws_source = wb_source.Sheets(nom_onglet)
    Set cell_source_1er = ws_source.Range("A1")
    Set cell_source_der = cell_source_1er.End(xlDown)
    Set wb_target = Workbooks(nom_target)
    Set ws_target = wb_target.Sheets(nom_onglet)
    Set cell_target = ws_target.Range("A1")
     
    ws_source.Range(cell_source_1er, cell_source_der).Copy cell_target
     
    End Sub
    Merci d'avance

  2. #2
    Membre éprouvé Avatar de defluc
    Homme Profil pro
    Architecte
    Inscrit en
    Mai 2002
    Messages
    1 383
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    Localisation : Belgique

    Informations professionnelles :
    Activité : Architecte

    Informations forums :
    Inscription : Mai 2002
    Messages : 1 383
    Points : 1 199
    Points
    1 199
    Par défaut
    Commence par exécuter en pas à pas pour repérer l'instruction qui génère l'erreur.

Discussions similaires

  1. Réponses: 11
    Dernier message: 13/04/2013, 15h25
  2. Réponses: 5
    Dernier message: 27/03/2013, 15h29
  3. [XL-2007] supression de colonnes totaux 0 dans plusieurs feuilles
    Par JYPIQ62 dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 12/10/2011, 21h49
  4. [XL-2003] Probleme de liste dans plusieurs feuilles d'un même classeur
    Par Derno_Z_Project dans le forum Excel
    Réponses: 2
    Dernier message: 05/12/2009, 00h35
  5. [VBA-Excel] copier plusieurs fois une colonne dans une feuille Excel
    Par ash_rmy dans le forum Macros et VBA Excel
    Réponses: 14
    Dernier message: 09/08/2006, 18h43

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo