Macro VBA: Ouvre SOURCE fichier & colle dans un DEST fichier
Résoluf894009 -
Bonjour,
Je suis nouveau et decouvre les Macro VBA
J'ai besoin d'une Macro qui:
1 Ouvre le Dossier et Ouvre fichier_SOURCE(1) (Je connais le chemin du dossier")
2 Copie une cellule Definit ("D7")
3 Ouvre le Fichier DESTination puis colle Dnas un Tableaux
4 Ferme le Fichier SOurce
Puis ouvre le 2eme fichier & ainsi de suite pour tous les fichier du Dossier
Voici une trouvaille de Internet :
Sub Macro() Dim Chemin As String, Fichier As String 'Définit le répertoire contenant les fichiers Chemin = "C:\Users\c2020\Desktop\EXCEL\PROJET\2022-10\" 'Boucle sur tous les fichiers xls du répertoire. Fichier = Dir(Chemin & "*.xls") End Sub
En voici une 2eme que je comprend pas mais pense est sur la bonne voie de me repondre
Merci de completer et commenter pour que j'y arrive & comprendre comment fonctionne cela :
Sub Macro1()
Dim CA As String 'déclare la variable CA (Chemin d'Accès)
Dim CD As Workbook 'déclare la variable CD (Classeur Destination)
Dim OD As Worksheet 'déclare la variable OD (Onglet Destination)
Dim FS As String 'décalre la variable FS (Fichier Source)
Dim CS As Workbook 'déclare la variable CS (Classeur Source)
Dim OS As Worksheet 'déclare la variable OS (Onglet Source)
Dim DEST As Range 'déclare la variable DEST (celllue de DESTination)
'Si tu connais le chemin d'accès et qu'il ne bougera pas écris-le en-dessous et supprime la partie indiquée si...
CA = "C:\Users\c2020\Desktop\EXCEL\PROJET\2022-10\"
CD = "C:\Users\c2020\Desktop\EXCEL\PROJET\Reporting Octobre.xlsx"
FS = Dir(CA & "*.xlsx") 'définit le premier fichier source Excel contenu dans le dossier ayant CA comme chemin d'accès
Do While FS <> "" ' exécute tant qu'il existe des fichiers source
Workbooks.Open CA & FS 'ouvre le fichier source FS
Set CS = ActiveWorkbook 'définit la classeur source CS
'*******************************************************************************************
' cette partie correspond à ta macro du copier/coler. Adapte là à ton cas
'définit la cellule de destination DEST (première cellule vide de la colonne A)
Set DEST = OD.Cells(Application.Rows.Count, "A").End(xlUp).Offset(1, 0)
OS.Range("A1:H50").Copy DEST 'copie la plage A1:H50 de l'onglet source et la colle dans DEST
'*******************************************************************************************
'call MaMacro
CS.Close False 'ferme le claseru source CS (sans enregistrer)
FS = Dir 'définit le prochain fichier source excel du dossier ayant CA comme chemin d'accès
Loop 'boucle
End Sub
Merci de vos réponses et votre temps que vous preniez pour moi
- Macro VBA: Ouvre SOURCE fichier & colle dans un DEST fichier
- Telecharger macro convertir chiffre en lettre excel - Télécharger - Tableur
- Jitbit macro recorder - Télécharger - Confidentialité
- Télécharger macro convertir chiffre en lettre excel - Télécharger - Tableur
- Macro word - Guide
- Excel compter cellule couleur sans vba - Guide
1 réponse
Bonjour,
Pensez a modifier les chemins et nom de fichiers sin ce n'est deja fait
Devrait aller
Sub Macro1() Dim CA As String 'déclare la variable CA (Chemin d'Accès) Dim CD As Workbook 'déclare la variable CD (Classeur Destination) Dim OD As Worksheet 'déclare la variable OD (Onglet Destination) Dim FS As String 'décalre la variable FS (Fichier Source) Dim CS As Workbook 'déclare la variable CS (Classeur Source) Dim OS As Worksheet 'déclare la variable OS (Onglet Source) Dim DEST As Range 'déclare la variable DEST (celllue de DESTination) 'Si tu connais le chemin d'accès et qu'il ne bougera pas écris-le en-dessous et supprime la partie indiquée si... CA = "C:\Users\c2020\Desktop\EXCEL\PROJET\2022-10\" CD = "C:\Users\c2020\Desktop\EXCEL\PROJET\Reporting Octobre.xlsx" FS = Dir(CA & "*.xlsx") 'définit le premier fichier source Excel contenu dans le dossier ayant CA comme chemin d'accès Do While FS <> "" ' exécute tant qu'il existe des fichiers source Workbooks.Open CA & FS 'ouvre le fichier source FS Set CS = ActiveWorkbook 'définit la classeur source CS '******************************************************************************************* ' cette partie correspond à ta macro du copier/coler. Adapte là à ton cas 'définit la cellule de destination DEST (première cellule vide de la colonne A) Set DEST = OD.Cells(Application.Rows.Count, "A").End(xlUp).Offset(1, 0) OS.Range("D7").Copy DEST 'copie la plage A1:H50 de l'onglet source et la colle dans DEST '******************************************************************************************* 'call MaMacro Set OS = Nothing Set DEST = Nothing CS.Close False 'ferme le claseru source CS (sans enregistrer) FS = Dir 'définit le prochain fichier source excel du dossier ayant CA comme chemin d'accès Loop 'boucle End Sub