ouvrir des fichiers dont le nom se trouve dans la cellule d'un autre fichier : boucle

fbernier

XLDnaute Nouveau
Bonjour,
je dois ouvrir plusieurs fichiers, copier des infos pour les coller dans mon fichier de synthèse.
En cell E1 j'ai le nom du premier fichier, et je dois coller en E5 et E70 les infos de ce fichier.
Ensuite je dois ouvrir le fichier dont le nom est en F1, copier -coller en F5, ouvrir le fichier dont le nom est en G1 copier coller en G5 ....
J'ai commencer un code mais je n'arrive pas à faire la boucle, pour qu'à chaque fois la macro ouvre le fichier de la colonne suivante et copie en dessous.
Merci pour votre aide.

Sub Budget()
'
' Budget Macro
'
fichier = Range("e1").Value
Workbooks.Open Filename:= _
"M:\Reporting\BUDGET 2011\BUDGET 2011 - REMONTEES SITES DEF\4- SIMUL V6-12-2011\" & fichier _
, UpdateLinks:=0
Sheets("GUICHET BUDGET 2011").Select

Windows(fichier).Activate
Range("U6:U62").Select
Selection.Copy
Windows("Synthese FB2.xlsm").Activate
Range("e5").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
 

Pièces jointes

  • Synthese FB2.xlsm
    30.5 KB · Affichages: 99
Dernière édition:

Efgé

XLDnaute Barbatruc
Re : ouvrir des fichiers dont le nom ce trouve dans la cellule d'un autre fichier : b

Bonjour fbernier, le fil, le forum,
Je n'ai pas pu ouvrir ton fichier pour cause de 2003.
Je pense que cela pourrait donner quelque chose comme ça (Vérifie les noms de feuilles et de classeurs):
VB:
Sub Budget()
For i = 5 To 7 'Des colonnes E à G
    fichier = Cells(1, i).Value
    Workbooks.Open Filename:= _
    "M:\Reporting\BUDGET 2011\BUDGET 2011 - REMONTEES SITES DEF\4- SIMUL V6-12-2011\" & fichier _
    , UpdateLinks:=0
    'Avec le fichier ouvert
    With ActiveWorkbook
        'on récupère les données de la feuille GUICHET BUDGET 2011
        Plg = .Sheets("GUICHET BUDGET 2011").Range("U6:U62").Value
        'On ferme le fichier ouvert
        .Close False
    End With
    ' on colle les valeurs sur la feuille du classeur Synthese FB2.xlsm
    'Remplacer toto2 par le bon nom de feuille
    ThisWorkbook.Sheets("Toto2").Cells(5, i).Resize(57, 1) = Plg
'Prochaine colonne
Next i
End Sub
Cordialement
 

Discussions similaires

Statistiques des forums

Discussions
312 111
Messages
2 085 396
Membres
102 882
dernier inscrit
Sultan94