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 :

copier une colonne d'un classeur à un autre [XL-2003]


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    technicien
    Inscrit en
    Janvier 2010
    Messages
    73
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : technicien
    Secteur : Santé

    Informations forums :
    Inscription : Janvier 2010
    Messages : 73
    Par défaut copier une colonne d'un classeur à un autre
    Bonjour,

    je tiens à dire qu'avant de poster, j'ai fait une recherche, testé des codes mais je n'y arrive pas...

    je retraite un fichier d'acquisition à partir d'un fichier Almemo.xls qui contient mes macros.

    Le fichier Almemo contient 2 feuilles: 1- contient les donnees et macros qui vont avec, la 2- contient simplement une liste qui va servir à remplir un userform1

    Le fichier acquisition contient une feuille avec le n° essai uniquement. Ma macro copie donc cette feuille en feuil1 puis crée une feuil2 vierge pour recevoir la liste pour userform1.

    Voilà le code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    Sub copie()
     
    Dim Wbk1 As Workbooks
    Dim Wbk2 As Workbooks
     
    Set Wbk1 = ThisWorkbook
    Set Wbk2 = Workbook
     
    Wbk1.Worksheets("feuil2").Columns(1).Copy Destination:=Wbk2.Worksheets("Feuil2").Columns(1)
     
    End Sub
    Le code bloque au
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Wbk2.Worksheets("feuil2")...
    j'ai dû faire une erreur, mais je ne voie pas...merci pour votre aide

    Tremens

  2. #2
    Membre Expert Avatar de aalex_38
    Inscrit en
    Septembre 2007
    Messages
    1 631
    Détails du profil
    Informations forums :
    Inscription : Septembre 2007
    Messages : 1 631
    Par défaut
    Bonjour,


    c'est le code suivant qui ne va pas tu ne précise pas le classeur :

    J'ai testé le code suivant qui fonctionne [a Adapter] :


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ThisWorkbook.Sheets("Feuil1").Columns("A:A").Copy Destination:=Workbooks("Classeur2").Sheets("Feuil1").Columns("A:A")

  3. #3
    Membre confirmé
    Homme Profil pro
    technicien
    Inscrit en
    Janvier 2010
    Messages
    73
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : technicien
    Secteur : Santé

    Informations forums :
    Inscription : Janvier 2010
    Messages : 73
    Par défaut
    Merci aalex38 , mais les fichiers d'acquisition que j'ai à retraiter, sont :10000.xls (exemple)

    Comment faire pour le faire apparaitre à la place de classuer 2?

    Merci

    Tremens

  4. #4
    Membre Expert Avatar de aalex_38
    Inscrit en
    Septembre 2007
    Messages
    1 631
    Détails du profil
    Informations forums :
    Inscription : Septembre 2007
    Messages : 1 631
    Par défaut
    Comment faire pour le faire apparaitre à la place de classuer 2?
    Je ne comprend pas exactement le sens de ta demande, mais je vais essayer.
    Déja en re regardant ton code tu utilses workbooks (collection des classeurs) au lieu de workbook qui defini un classeur.

    Je te donne une exemple :


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    Sub tremens()
    Dim Wbk1 As Workbook, Wbk2 As Workbook, NomCla2 As String
    NomCla2 = "10000.xls"
    Set Wbk1 = ThisWorkbook
    Set Wbk2 = Workbooks(NomCla2)
    Wbk1.Worksheets("Feuil2").Columns("A:A").Copy Destination:=Wbk2.Sheets("Feuil2").Columns("A:A")
    End Sub

  5. #5
    Membre confirmé
    Homme Profil pro
    technicien
    Inscrit en
    Janvier 2010
    Messages
    73
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : technicien
    Secteur : Santé

    Informations forums :
    Inscription : Janvier 2010
    Messages : 73
    Par défaut
    Je m'excuse de m'avoir mal exprimé...

    j'ai environ 50 fichiers à retraiter et ils représentent autant d'essais. par exemple du 90010, 90011,....,90060.xls
    Voilà, j'espère que c'est plus clair

    Merci aalex 38



    Tremens

  6. #6
    Membre Expert Avatar de aalex_38
    Inscrit en
    Septembre 2007
    Messages
    1 631
    Détails du profil
    Informations forums :
    Inscription : Septembre 2007
    Messages : 1 631
    Par défaut
    [a Adapter]

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    cpt = 9009
    For i = 1 to 50
    cpt = cpt + 1
    NomCla2 =   cpt & ".xls"
    Set Wbk2 = Workbooks(NomCla2)
    ' -----
    next i

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 4
    Dernier message: 08/05/2015, 10h23
  2. macro pour copier une feuille d'un classeur à un autre
    Par rihab92 dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 03/05/2015, 21h05
  3. [XL-2003] Macro pour copier une cellule d'un classeur à un autre sous condition
    Par mairiemeudon dans le forum Macros et VBA Excel
    Réponses: 25
    Dernier message: 14/06/2010, 15h28
  4. Réponses: 5
    Dernier message: 26/03/2008, 21h48
  5. copier une ligne d'un classeur à un autre
    Par melodyyy dans le forum Macros et VBA Excel
    Réponses: 16
    Dernier message: 23/11/2006, 14h22

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