Copier-coller plusieur feuille sur une feuille

Bonjour à toutes et à tous

Ultra débutant en Macro/VBA j'essai de créer un routine qui me permet de copier la colonne 1 de chaque feuille du classeur pour les coller vers la feuille 1 de ce même classeur .

Vu qu'un exemple vaut mieux que des explications, je vous joint un fichier.

merci d'avance pour vous réponse

8extract-item.xlsx (14.52 Ko)

J'ai oublié de préciser que dans mon fichier j'ai mis des onglets type mais que dans mon véritable travail (qui pour des raison de confidentialité je ne peux fournir) il y n'y auras pas forcement les même onglets à chaque fois.

pour raire le parallèle avec l'exemple fournis c'est comme si mon 1er fichier avait l'onglet 1 2 et 3, mon 2eme fichier avait l'onglet 1 5 6 et 7, mon 3eme fichier aura l’onglet 2 5 et 7.

disons que dans le fichier de départ il y aura tous les onglet et en fonction du travail demander je vais supprimer ou dupliquer les onglet par une première macro , puis je voudrais faire la macro qui copie/colle les "ITEMS".

j’espère avoir été clair.

merci encore pour les réponses données

Bonjour Benoît, bonjour le forum,

Peut-être comme ça :

Sub Macro1()
Dim OD As Worksheet 'déclare la variable OD (Onglet Destination)
Dim I As Integer 'déclare la variable I (Incrément)
Dim COL As Byte 'déclare la variable COL (COLonne)

COL = 1 'initialise la variable COL
Set OD = Worksheets(1) 'définit l'onglet destination OD
For I = 2 To Worksheets.Count 'boucle sur tous les onglets I du classeur (en partant du second)
    Worksheets(I).Columns(1).Copy OD.Columns(COL) 'copie la colonne A de l'onglet de la boucle et la colle dans la colonne COL de l'onglet destination OD
    COL = COL + 1 'incrément la colonne COL
Next I 'prochain onglet de la boucle
End Sub

Bonjour et merci pour la réponse

c'est exactement ce que je cherchais à faire, je dois m'incliné devant tant de maîtrise.

Sans abuser, ni vouloir faire de réponse à tiroir (comme on me l'a déjà dit) car je n'y pense que maintenant en faisant l'essai,

serait-il possible, que de plutôt coller mes colonnes dans la feuille 1, de les coller dans un nouveau classeur?

après si cette solution n'est pas possible, elle est déjà très très bien.

Encore merci pour ton aide

Re,

Essaie comme ça (à adapter) :

Sub Macro1()
Dim CS As Workbook 'déclare la variable CS (Classeur Source)
Dim CA As String 'déclare la variable CA (Chemin d'accès)
Dim NFD As String 'déclare la variable NFD (Nom du Fichier Destination)
Dim CD As Workbook 'déclare la variable CD (Classeur Destination)
Dim OD As Worksheet 'déclare la variable OD (Onglet Destination)
Dim I As Integer 'déclare la variable I (Incrément)
Dim COL As Byte 'déclare la variable COL (COLonne)

Set CS = ThisWorkbook 'définit la classeur source
CA = "ici tu mets le chemin d'accès complet du fichier destination eb terminant par le caractère \" 'par exemple : "C:\Users\Robert\Documents\"
NFD = "ici tu mets le nom complet du fichier destination avec l'extension" 'par exemple "Fichier Destination.xlsx"
Set CD = Workbooks.Open(CA & NDF) 'définit la classeur destination en l'ouvrant
Set OD = CD.Worksheets(1) 'définit l'onglet destination OD
COL = 1 'initialise la variable COL
For I = 1 To CS.Worksheets.Count 'boucle sur tous les onglets I du classeur source
    Worksheets(I).Columns(1).Copy OD.Columns(COL) 'copie la colonne A de l'onglet de la boucle et la colle dans la colonne COL de l'onglet destination OD
    COL = COL + 1 'incrément la colonne COL
Next I 'prochain onglet de la boucle
End Sub

Re,

merci beaucoup de te pencher sur mon problème,

j'ai un message d'erreur dont je ne trouve pas le probleme.

voici en image le message

2019 01 22 09h21 47

j'ai bien vérifié qu'il n'y a pas de faute quand je recopie le liens dans ma macro.

et le débogeur me surligne la ligne suivante:

2019 01 22 09h29 06

merci encore pour l'aide apporté

Re,

Arf !... NDF et NFD une histoire de dyslexie...

Set CD = Workbooks.Open(CA & NFD) 'définit la classeur destination en l'ouvrant

Je suis vraiment désolé de t'ennuyer avec mon probleme, surtout que tu l'as quand même bien résolu.

Mais j'ai un autre probleme qui survient :

il ouvre bien, du coup le fichier de destination mais ne colle rien et un nouveau message apparrais:

2019 01 22 10h34 25

dans le débogueur j'ai cette ligne de surligné:

2019 01 22 10h32 17

merci encore d'éclairé ma lanterne sur le problème

Re,

En effet il faut spécifier de quel classeur on prend l'onglet en rajoutant CS. devant. pardon...

CS.Worksheets(I).Columns(1).Copy OD.Columns(COL)

Et oui ça a l'air tellement facile.

En tout cas merci ça marche nickel c'est exactement ce que je voulais.

Rechercher des sujets similaires à "copier coller feuille"