Bonjour à tous,
Je me nomme malkav et je suis nouveau dans le monde de VBA.
J'ai realisé une petite macro qui fonctionne pas mal, mais je me rends compte en lisant vos posts qu'elle pourrait etre optimisée.
Son but est, depuis un fichier "maitre" contenant la macro, de recuperer des infos sur 4 feuilles de plusieurs fichiers excel et de les coller sur 4 feuilles de mon fichier maitre.
Mon code est plus que perfectible, mais auriez-vous une idée pour l'optimiser.
Merci par avance.
Je me nomme malkav et je suis nouveau dans le monde de VBA.
J'ai realisé une petite macro qui fonctionne pas mal, mais je me rends compte en lisant vos posts qu'elle pourrait etre optimisée.
Son but est, depuis un fichier "maitre" contenant la macro, de recuperer des infos sur 4 feuilles de plusieurs fichiers excel et de les coller sur 4 feuilles de mon fichier maitre.
Mon code est plus que perfectible, mais auriez-vous une idée pour l'optimiser.
Merci par avance.
Code:
Sub test()
' defini le repertoire comme maitre
ChDir ActiveWorkbook.Path
' arreter le rafraichissement de l'ecran
Application.ScreenUpdating = False
' fichier 1
Workbooks.Open Filename:="enregistrement1 (1).xls"
Windows("enregistrement1 (1).xls").Activate
Sheets("1").Select
Cells.Select
Selection.Copy
Windows("test.xlsm").Activate
Sheets("1").Select
Range("A1").Select
ActiveSheet.Paste
Windows("enregistrement1 (1).xls").Activate
Sheets("Harmoniques %").Select
Cells.Select
Selection.Copy
Windows("test.xlsm").Activate
Sheets("Harmoniques %").Select
ActiveSheet.Paste
Windows("enregistrement1 (1).xls").Activate
Sheets("Harmoniques RMS").Select
Cells.Select
Selection.Copy
Windows("test.xlsm").Activate
Sheets("Harmoniques RMS").Select
Range("A1").Select
ActiveSheet.Paste
Windows("enregistrement1 (1).xls").Activate
Sheets("Harmoniques % 2").Select
Cells.Select
Selection.Copy
Windows("test.xlsm").Activate
Sheets("Harmoniques % 2").Select
Range("A1").Select
ActiveSheet.Paste
Windows("enregistrement1 (1).xls").Activate
Sheets("Harmoniques RMS 2").Select
Cells.Select
Selection.Copy
Windows("test.xlsm").Activate
Sheets("Harmoniques RMS 2").Select
Range("A1").Select
ActiveSheet.Paste
Application.CutCopyMode = False
Workbooks("enregistrement1 (1).xls").Close False
' fichier 2
Workbooks.Open Filename:="enregistrement1 (2).xls"
Windows("enregistrement1 (2).xls").Activate
Sheets("1").Select
Range("A9").Select
Range(Selection, Selection.End(xlToRight)).Select
Range(Selection, Selection.End(xlDown)).Select
Selection.Copy
Windows("test.xlsm").Activate
Sheets("1").Select
Range("A10").Select
Selection.End(xlDown).Select
ActiveCell.Offset(1, 0).Select
ActiveSheet.Paste
Windows("enregistrement1 (2).xls").Activate
Sheets("Harmoniques %").Select
Range("A3").Select
Range(Selection, Selection.End(xlToRight)).Select
Range(Selection, Selection.End(xlDown)).Select
Selection.Copy
Windows("test.xlsm").Activate
Sheets("Harmoniques %").Select
Range("A3").Select
Selection.End(xlDown).Select
ActiveCell.Offset(1, 0).Select
ActiveSheet.Paste
Windows("enregistrement1 (2).xls").Activate
Sheets("Harmoniques RMS").Select
Range("A3").Select
Range(Selection, Selection.End(xlToRight)).Select
Range(Selection, Selection.End(xlDown)).Select
Selection.Copy
Windows("test.xlsm").Activate
Sheets("Harmoniques RMS").Select
Range("A3").Select
Selection.End(xlDown).Select
ActiveCell.Offset(1, 0).Select
ActiveSheet.Paste
Windows("enregistrement1 (2).xls").Activate
Sheets("Harmoniques % 2").Select
Range("A3").Select
Range(Selection, Selection.End(xlToRight)).Select
Range(Selection, Selection.End(xlDown)).Select
Selection.Copy
Windows("test.xlsm").Activate
Sheets("Harmoniques % 2").Select
Range("A3").Select
Selection.End(xlDown).Select
ActiveCell.Offset(1, 0).Select
ActiveSheet.Paste
Windows("enregistrement1 (2).xls").Activate
Sheets("Harmoniques RMS 2").Select
Range("A3").Select
Range(Selection, Selection.End(xlToRight)).Select
Range(Selection, Selection.End(xlDown)).Select
Selection.Copy
Windows("test.xlsm").Activate
Sheets("Harmoniques RMS 2").Select
Range("A3").Select
Selection.End(xlDown).Select
ActiveCell.Offset(1, 0).Select
ActiveSheet.Paste
Application.CutCopyMode = False
Workbooks("enregistrement1 (2).xls").Close False
' fichier 3
Workbooks.Open Filename:="enregistrement1 (3).xls"
Windows("enregistrement1 (3).xls").Activate
Sheets("1").Select
Range("A9").Select
Range(Selection, Selection.End(xlToRight)).Select
Range(Selection, Selection.End(xlDown)).Select
Selection.Copy
Windows("test.xlsm").Activate
Sheets("1").Select
Range("A10").Select
Selection.End(xlDown).Select
ActiveCell.Offset(1, 0).Select
ActiveSheet.Paste
Windows("enregistrement1 (3).xls").Activate
Sheets("Harmoniques %").Select
Range("A3").Select
Range(Selection, Selection.End(xlToRight)).Select
Range(Selection, Selection.End(xlDown)).Select
Selection.Copy
Windows("test.xlsm").Activate
Sheets("Harmoniques %").Select
Range("A3").Select
Selection.End(xlDown).Select
ActiveCell.Offset(1, 0).Select
ActiveSheet.Paste
Windows("enregistrement1 (3).xls").Activate
Sheets("Harmoniques RMS").Select
Range("A3").Select
Range(Selection, Selection.End(xlToRight)).Select
Range(Selection, Selection.End(xlDown)).Select
Selection.Copy
Windows("test.xlsm").Activate
Sheets("Harmoniques RMS").Select
Range("A3").Select
Selection.End(xlDown).Select
ActiveCell.Offset(1, 0).Select
ActiveSheet.Paste
Windows("enregistrement1 (3).xls").Activate
Sheets("Harmoniques % 2").Select
Range("A3").Select
Range(Selection, Selection.End(xlToRight)).Select
Range(Selection, Selection.End(xlDown)).Select
Selection.Copy
Windows("test.xlsm").Activate
Sheets("Harmoniques % 2").Select
Range("A3").Select
Selection.End(xlDown).Select
ActiveCell.Offset(1, 0).Select
ActiveSheet.Paste
Windows("enregistrement1 (3).xls").Activate
Sheets("Harmoniques RMS 2").Select
Range("A3").Select
Range(Selection, Selection.End(xlToRight)).Select
Range(Selection, Selection.End(xlDown)).Select
Selection.Copy
Windows("test.xlsm").Activate
Sheets("Harmoniques RMS 2").Select
Range("A3").Select
Selection.End(xlDown).Select
ActiveCell.Offset(1, 0).Select
ActiveSheet.Paste
Application.CutCopyMode = False
Workbooks("enregistrement1 (3).xls").Close False
' fichier 4
Workbooks.Open Filename:="enregistrement1 (4).xls"
Windows("enregistrement1 (4).xls").Activate
Sheets("1").Select
Range("A9").Select
Range(Selection, Selection.End(xlToRight)).Select
Range(Selection, Selection.End(xlDown)).Select
Selection.Copy
Windows("test.xlsm").Activate
Sheets("1").Select
Range("A10").Select
Selection.End(xlDown).Select
ActiveCell.Offset(1, 0).Select
ActiveSheet.Paste
Windows("enregistrement1 (4).xls").Activate
Sheets("Harmoniques %").Select
Range("A3").Select
Range(Selection, Selection.End(xlToRight)).Select
Range(Selection, Selection.End(xlDown)).Select
Selection.Copy
Windows("test.xlsm").Activate
Sheets("Harmoniques %").Select
Range("A3").Select
Selection.End(xlDown).Select
ActiveCell.Offset(1, 0).Select
ActiveSheet.Paste
Windows("enregistrement1 (4).xls").Activate
Sheets("Harmoniques RMS").Select
Range("A3").Select
Range(Selection, Selection.End(xlToRight)).Select
Range(Selection, Selection.End(xlDown)).Select
Selection.Copy
Windows("test.xlsm").Activate
Sheets("Harmoniques RMS").Select
Range("A3").Select
Selection.End(xlDown).Select
ActiveCell.Offset(1, 0).Select
ActiveSheet.Paste
Windows("enregistrement1 (4).xls").Activate
Sheets("Harmoniques % 2").Select
Range("A3").Select
Range(Selection, Selection.End(xlToRight)).Select
Range(Selection, Selection.End(xlDown)).Select
Selection.Copy
Windows("test.xlsm").Activate
Sheets("Harmoniques % 2").Select
Range("A3").Select
Selection.End(xlDown).Select
ActiveCell.Offset(1, 0).Select
ActiveSheet.Paste
Windows("enregistrement1 (4).xls").Activate
Sheets("Harmoniques RMS 2").Select
Range("A3").Select
Range(Selection, Selection.End(xlToRight)).Select
Range(Selection, Selection.End(xlDown)).Select
Selection.Copy
Windows("test.xlsm").Activate
Sheets("Harmoniques RMS 2").Select
Range("A3").Select
Selection.End(xlDown).Select
ActiveCell.Offset(1, 0).Select
ActiveSheet.Paste
Application.CutCopyMode = False
Workbooks("enregistrement1 (4).xls").Close False
' activer le rafraichissement de l'ecran
Application.ScreenUpdating = True
End Sub
Dernière édition: