Copy / Paste même nom de feuilles sur fichiers différents
MomoAbou
-
MomoAbou -
MomoAbou -
Bonjour,
Je dispose de deux fichiers de formats identiques avec le même nombre de feuilles avec les mêmes nom pour chaque feuille.
Soit Fichier Europe et Fichier Noram avec chacun 40 feuilles, nommées T1 ...;.. T40.
Sur Europe J'ai laissé les formules et je voudrais Copier T1 de Europe à partir de la colonne 4 et le coller dans T1 de Noram, T2 Europe dans T2 de Noram ainsi de suite jusqu'à T40.
Est ce que ceci est possible par VBA,
Merci beaucoup par avance.
Cdt
Je dispose de deux fichiers de formats identiques avec le même nombre de feuilles avec les mêmes nom pour chaque feuille.
Soit Fichier Europe et Fichier Noram avec chacun 40 feuilles, nommées T1 ...;.. T40.
Sur Europe J'ai laissé les formules et je voudrais Copier T1 de Europe à partir de la colonne 4 et le coller dans T1 de Noram, T2 Europe dans T2 de Noram ainsi de suite jusqu'à T40.
Est ce que ceci est possible par VBA,
Merci beaucoup par avance.
Cdt
A voir également:
- Copy / Paste même nom de feuilles sur fichiers différents
- Renommer plusieurs fichiers en même temps - Guide
- Comment faire un livret avec des feuilles a4 - Guide
- Exact audio copy - Télécharger - Conversion & Extraction
- Explorateur de fichiers - Guide
- Super copy - Télécharger - Gestion de fichiers
4 réponses
Bonsoir MomoAbou, bonsoir le forum,
Sans plus d'explications je te propose le code ci-dessous. Tu le places dans un des deux classeurs (au choix). Il faut que les deux classeurs soient ouverts au préalable...
Sans plus d'explications je te propose le code ci-dessous. Tu le places dans un des deux classeurs (au choix). Il faut que les deux classeurs soient ouverts au préalable...
Sub Macro1() Dim CS As Workbook 'déclare la variable CS (Classeur Source) Dim CD As Workbook 'déclare la variable CD (Classeur Destination) Dim OS As Worksheet 'déclare la variable OS (Onglet Source) Dim OD As Worksheet 'déclare la variable OD (Onglet Destination) Dim DEST As Range 'déclare la variable DEST (cellule de DESTination) Set CS = Workbooks("Europe.xlsm") 'définit le classeur source CS (extension à adapter à ton cas !) Set CD = Workbooks("Noram.xlsm") 'définit le classeur destination CD (extension à adapter à ton cas !) For Each OS In CS 'boucle sur tous les onglets source OS du classeur source CS Set OD = CD.Worksheets(OS.Name) 'définit l'onglet destination OD Set DEST = OD.Range("D1") 'définit la cellule de destination DEST 'copy la plage de D1 à la dernière cellule du l'onglet et la colle dans DEST OS.Range(OS.Cells(1, 4), OS.Cells(Application.Rows.Count, Application.Columns.Count)).Copy DEST Next OS 'prochain onglet de la boucle End Sub
Bonjour MomoAbou,
Je te propose ce code VBA :
Les lignes #6 et #7 doivent être sur une seule ligne.
De même pour les lignes #10 et #11.
Cordialement. 😊
PS : Bonjour à ThauTheme en passant. 😉
Je te propose ce code VBA :
Option Explicit Sub Essai() Dim i As Byte: Workbooks("Noram").Activate: Application.ScreenUpdating = False For i = 1 To 40 With Workbooks("Europe").Worksheets(i) .Range(Cells(1, 4), Cells(Application.Rows.Count, Application.Columns.Count)).Copy Worksheets(i).[D1] End With Next i End Sub
Les lignes #6 et #7 doivent être sur une seule ligne.
De même pour les lignes #10 et #11.
Cordialement. 😊
PS : Bonjour à ThauTheme en passant. 😉
Bonjour Thauteme, Bonjour Albkan
merci beaucoup pour vos retours. J'ai testé le code de Thauteme mais ce dernier ne s'execute pas. Peut-être que ma desc n'est pas complète. Dans le fichier source d'arrivée les colonnes A jusqu'à D sont amenées à recevoir des données qui peuvent changer et les colonnes suivantes se mettront à jour automatiquement (sans que j'ai besoin à retaper toutes les formules).Là j'ai mis une partie en valeur mais je remettrais les formules demain, (cela ne devrait pas impacter le code je pense).
Je joins les deux fichiers et le codes tels que donné plus haut.
Fichier CEE http://www.cjoint.com/c/FJEriAuCLeC
Fichier Noram (la macro à lancer s'y trouve): http://www.cjoint.com/c/FJErjjY6OhC
Pour le code de AlbKan, quand j'essaie de mettre les lignes #6 et #7 sur une seule le texte est mis en rouge.
Merci beaucoup.
Cordialement,
merci beaucoup pour vos retours. J'ai testé le code de Thauteme mais ce dernier ne s'execute pas. Peut-être que ma desc n'est pas complète. Dans le fichier source d'arrivée les colonnes A jusqu'à D sont amenées à recevoir des données qui peuvent changer et les colonnes suivantes se mettront à jour automatiquement (sans que j'ai besoin à retaper toutes les formules).Là j'ai mis une partie en valeur mais je remettrais les formules demain, (cela ne devrait pas impacter le code je pense).
Je joins les deux fichiers et le codes tels que donné plus haut.
Fichier CEE http://www.cjoint.com/c/FJEriAuCLeC
Fichier Noram (la macro à lancer s'y trouve): http://www.cjoint.com/c/FJErjjY6OhC
Pour le code de AlbKan, quand j'essaie de mettre les lignes #6 et #7 sur une seule le texte est mis en rouge.
Merci beaucoup.
Cordialement,
Bonjour MomoAbou,
Si tu mets les lignes #6 et #7 sur une seule ligne de texte, ça ne doit pas
se mettre en rouge ! Pour t'aider, la fin de la ligne #6 doit alors être :
... : Application.ScreenUpdating = False
Peut-être as-tu effacé le signe « = » par mégarde ? 😉
Après cette correction, teste de nouveau mon code VBA, et dis-moi
si cette fois ça marche ; sinon, indique ce qui ne vas pas.
Cordialement. 😊