Copy / Paste même nom de feuilles sur fichiers différents

Fermé
MomoAbou - 27 oct. 2016 à 10:52
 MomoAbou - 31 oct. 2016 à 10:43
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

4 réponses

ThauTheme Messages postés 1442 Date d'inscription mardi 21 octobre 2014 Statut Membre Dernière intervention 29 juillet 2022 160
29 oct. 2016 à 21:46
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...

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

0
Utilisateur anonyme
30 oct. 2016 à 01:27
Bonjour MomoAbou,

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.  😉
 
0
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,
0
Utilisateur anonyme
31 oct. 2016 à 07:27
 
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.  😊
 
0
ThauTheme Messages postés 1442 Date d'inscription mardi 21 octobre 2014 Statut Membre Dernière intervention 29 juillet 2022 160
31 oct. 2016 à 10:39
Les noms des fichiers et des onglets ne correspondent absolument pas avec la description du premier post. Pas étonnant que la macro que je t'ai proposée ne fonctionne pas !... As-tu au moins adapté le code ?
Je passe la main... Bonne chance.
0
Bonjour Thauteme,

oui j'ai pensé à adapter. Merci tout de même pour ton aide, j'ai finalement fait autrement ce matin (plus long du coup).


je suis aussi entrain de tester la version de Albkan.

Merci à tous les deux.

Cdt
0