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

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

4 réponses

  1. ThauTheme Messages postés 1564 Statut Membre 160
     
    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
  2. Utilisateur anonyme
     
    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
  3. MomoAbou
     
    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
    1. Utilisateur anonyme
       
       
      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
  4. ThauTheme Messages postés 1564 Statut Membre 160
     
    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
    1. MomoAbou
       
      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