krafft
XLDnaute Nouveau
Ai 1 fichier vierge d'où je lance une macro (consolidator.xls)
Ai 80 fichiers (3 uniquement dans mon exemple) dans un répertoire, ayant la même structure, les memes onglets (janvier, fevrier, mars,...)
1/ Souhaite automatiser le copier-coller (seulement les valeurs) d'une plage de données fixe (ex: A1:L11) de chacun des 80 fichiers du même onglet (par exemple, uniquement les onglets nommés janvier) dans le fichier vierge, et ce, mis bout à bout.
2/ Aimerais pouvoir configurer l'onglet sur lequel se fait le traitement, comme une variable que l'utilisateur choisit (cf. liste deroulante de mon user form) qui s'affiche à l'ouverture de consolidator.xls)
3/ Aimerais pouvoir sélectionner le répertoire dans lequel se fait le traitement et contenant tous les fichiers Excel (les 80 fichiers) (cf. mon user form à l'ouverture du classeur)
nb : ai réalisé une macro qui fonctionne (ouvrir consolidator.xls dans module1), mais sans aucune boucle (il y aurait donc 80 fois le code "ouvrir fichier, faire le traitement, ...", et ce pour chacun des onglets (Janvier, Fevrier, Mars...).
La voici intégralement:
Sub test()
'
' test Macro
' Macro enregistrée le 13/11/2007 par Francois Krafft
'
Workbooks.Open Filename:="C:\Data\fkrafft\Bureau\test macro III\caisse1.xls"
Worksheets("JANVIER").Select
Range("A1:L11").Select
Selection.Copy
Windows("Consolidator.xls").Activate
Range("A1").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Windows("caisse1.xls").Activate
ActiveWindow.Close
Workbooks.Open Filename:="C:\Data\fkrafft\Bureau\test macro III\caisse2.xls"
Worksheets("JANVIER").Select
Range("A1:L11").Select
Selection.Copy
Windows("Consolidator.xls").Activate
Range("A12").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Windows("caisse2.xls").Activate
ActiveWindow.Close
Workbooks.Open Filename:="C:\Data\fkrafft\Bureau\test macro III\caisse3.xls"
Worksheets("JANVIER").Select
Range("A1:L11").Select
Selection.Copy
Windows("Consolidator.xls").Activate
Range("A23").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Windows("caisse3.xls").Activate
ActiveWindow.Close
End Sub
nb2: le bouton de ma macro est l'unique bouton gris dans le classeur.
nb3: il faudra fermer l'user form qui s'affiche à l'ouverture.
nb4: il faut aussi aller dans VBA (Alt+F11) afin de modifier le code de l'emplacement des fichiers sur votre ordinateur (C:\Desktop\...)
N'hésitez pas à me poser des questions de cadrage..
En vous remerciant bcp par avance..
Francois
Ai 80 fichiers (3 uniquement dans mon exemple) dans un répertoire, ayant la même structure, les memes onglets (janvier, fevrier, mars,...)
1/ Souhaite automatiser le copier-coller (seulement les valeurs) d'une plage de données fixe (ex: A1:L11) de chacun des 80 fichiers du même onglet (par exemple, uniquement les onglets nommés janvier) dans le fichier vierge, et ce, mis bout à bout.
2/ Aimerais pouvoir configurer l'onglet sur lequel se fait le traitement, comme une variable que l'utilisateur choisit (cf. liste deroulante de mon user form) qui s'affiche à l'ouverture de consolidator.xls)
3/ Aimerais pouvoir sélectionner le répertoire dans lequel se fait le traitement et contenant tous les fichiers Excel (les 80 fichiers) (cf. mon user form à l'ouverture du classeur)
nb : ai réalisé une macro qui fonctionne (ouvrir consolidator.xls dans module1), mais sans aucune boucle (il y aurait donc 80 fois le code "ouvrir fichier, faire le traitement, ...", et ce pour chacun des onglets (Janvier, Fevrier, Mars...).
La voici intégralement:
Sub test()
'
' test Macro
' Macro enregistrée le 13/11/2007 par Francois Krafft
'
Workbooks.Open Filename:="C:\Data\fkrafft\Bureau\test macro III\caisse1.xls"
Worksheets("JANVIER").Select
Range("A1:L11").Select
Selection.Copy
Windows("Consolidator.xls").Activate
Range("A1").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Windows("caisse1.xls").Activate
ActiveWindow.Close
Workbooks.Open Filename:="C:\Data\fkrafft\Bureau\test macro III\caisse2.xls"
Worksheets("JANVIER").Select
Range("A1:L11").Select
Selection.Copy
Windows("Consolidator.xls").Activate
Range("A12").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Windows("caisse2.xls").Activate
ActiveWindow.Close
Workbooks.Open Filename:="C:\Data\fkrafft\Bureau\test macro III\caisse3.xls"
Worksheets("JANVIER").Select
Range("A1:L11").Select
Selection.Copy
Windows("Consolidator.xls").Activate
Range("A23").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Windows("caisse3.xls").Activate
ActiveWindow.Close
End Sub
nb2: le bouton de ma macro est l'unique bouton gris dans le classeur.
nb3: il faudra fermer l'user form qui s'affiche à l'ouverture.
nb4: il faut aussi aller dans VBA (Alt+F11) afin de modifier le code de l'emplacement des fichiers sur votre ordinateur (C:\Desktop\...)
N'hésitez pas à me poser des questions de cadrage..
En vous remerciant bcp par avance..
Francois