Copier/Coller entre deux classeurs

Bonjour,

Novice sur VBA j'aimerai savoir comment je peux créer une macro me permettant de copier coller entre deux classeurs:

Je fais un exemple représentatif de ma situation:

Situation

J'ai 4 classeurs sources (pm,ol,ik,uj) situé dans le dossier "Source". J'ai un classeur "mère" avec à l'intérieur des feuilles (pm,ol,ik,uj)

Consigne

1) Je dois dans les fichiers sources COPIER les cellules X1,X2,X9 de la "feuille2" ( toujours les mêmes cellules et la même feuille pour tous les classeurs sources).

2) Je dois dans le classeur "mère" COLLER(en Valeur) respectivement dans les feuilles (pm,ol,ik,uj) et sur les mêmes cellules que dans le classeur "source".

Je vous remercie d'avance pour votre aide, une solution à ce problème me ferai gagner énormément de temps ( j'ai 37 classeurs à copier coller toutes les 3 semaines)

Bonne journée

Bonjour,

A essayer :

Sub Mouly()
    Dim tft(3, 2), wb, ln, chm$, i%, j%
    wb = Split("pm ol ik uj")
    ln = Array(1, 2, 9)
    chm = "X:\etc\etc\Source\" 'à ajuster...
    Application.ScreenUpdating = False
    For i = 0 To 3
        With Workbooks.Open(chm & wb(i) & ".xlsx").Worksheets(2) 'si feuille2 est bien en 2e position, sinon rectifier
            For j = 0 To 2
                tft(i, j) = .Cells(j, 24)
            Next j
        End With
        Workbooks(wb(i) & ".xlsx").Close , False
    Next i
    For i = 0 To 3
        With Worksheets(wb(i))
            For j = 0 To 2
                .Cells(j, 24) = tft(i, j)
            Next j
        End With
    Next i
End Sub

Evite d'imiter la méthode manuelle (donc sans copier-coller ! ).

Non testé.

Cordialement.

Bonjour MFerrand,

Merci beaucoup pour votre aide, par contre je ne vous cache pas que j'ai du mal à décoder toute votre macro. Je ne comprends pas la signification de de tft(3,2). Mon but est vraiment de tout comprends pour pouvoir ensuite l'adapter au mieux à mon fichier.

Cordialement

Bonne journée

Bonjour,

Dim tft(3, 2), wb, ln, chm$, i%, j%

Déclaration des variables utilisées :

  • un tableau nommé tft, à 2 dimensions et 4 fois 3 éléments (indices 0 à 3 pour la 1re dimension, 0 à 2 pour la seconde), destiné à recueillir les données à prélever dans les 4 classeurs visées (3 par classeur), (type Variant car le type de données n'est pas prédéfini) ;
  • variable wb de type Variant, à laquelle on affectera un tableau des noms de classeur (qui sont également les noms de feuilles...) ;
  • variable ln de type Variant, à laquelle on affectera un tableau des numéros de ligne des données à recueillir (la colonne étant fixe) ;
  • variable chm de type String, pour y affecter le chemin et le nom du dossier contenant les classeurs ;
  • variables i et j de type Integer, utilisées comme compteurs de boucles.

Cordialement.

Vraiment top un grand merci, mon problème est résolu

Cordialement

Bonne journée

Rechercher des sujets similaires à "copier coller entre deux classeurs"