1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23
| Sub Macro1()
Dim CD As Workbook 'déclare la variable CD (Classeur Destination)
Dim OD As Worksheet 'déclare la variable OD (Onglet Destination)
Dim CA As String 'déclare la variable CA (Chemin d'accès)
Dim CS As Workbook 'déclare la variable CS (Classeur Source)
Dim OS As Worksheet 'déclare la variable OD (Onglet Source)
Dim F As String 'déclare la variable F (Fichier)
Dim DEST As Range 'déclare la variable DEST (cellule de DESTination)
Set CD = ThisWorkbook 'définit le classeur destination CD
Set OD = CD.Worksheets("Feuil1") 'définit l'ongletdestination OD
CA = CD.Path & "\etu\A1\B2\" 'définit le chemin d'accès CA
F = Dir(CA & "*.xlsx") 'définit le nom du fichier .xlsx F ayant CA comme chenin d'accès
Do While F <> "" 'bouce tatnt qu'il existe des fichiers
Set CS = Application.Workbooks.Open(CA & F) 'définit le classeur source CS en l'ouvrant
Set OS = CS.Worksheets(1) 'définit l'onglet source OS
'définit la cellule de destination DEST en fonction du nom du classeur source (sans l'extension)
Set DEST = OD.Columns(2).Find(Split(CS.Name, ".")(0), , xlValues, xlWhole).Offset(0, 1)
DEST.Value = OS.Range("DISTANCE_METRE") 'récupère la valeur de la plage nommée "DISTANCE_METRE"
CS.Close False 'ferme le classeur source sans enregistrer
F = Dir 'définit le prochain fichier .xlsx F aynat CA comme chemin d'accès
Loop 'boucle
End Sub |
Partager