QuestionS
G
Bonjour à tous !
J'ai créer 2 petites macro VBA afin d'automatiser le remplissage d'un classeur. La macro fonctionne mais j'aurai aimé avoir l'avis d'un expert pour savoir si il y avait plus simple, plus rapide ou plus fiable.
Sub final()
'
' final Macro
'
'copie du fichier releve P1
stfile = Application.GetOpenFilename
Workbooks.Open Filename:=stfile
Sheets("INDEXBATIMENTS").Select
Sheets("INDEXBATIMENTS").Copy Before:=Workbooks( _
"Chauffage campus actif(copie).XLS").Sheets(1)
'selection des dates
Range("G4:P4").Select
Selection.Copy
Sheets("Gabriel").Select
ActiveWindow.ScrollWorkbookTabs Position:=xlLast
Sheets(Array("Gabriel", "BUDL", "Droit-Lettres", "Serres", "Halle", "Epicure", "IUT", _
"BUS", "Sablé", "Mirande", "Staps", "DL Extension", "IUVV", "Gutenberg", "Sports co", _
"Galilée", "Pole gestion", "Maison U", "Sciences ing", "AAFE", "MDE ", "CRDP", _
"Lamartine", "Bossuet", "Buffon")).Select
Sheets("Gabriel").Activate
Sheets(Array("Rameau", "Vauban", "Rude", "Piron", "St Bernard", "Debrosses", "Sully", _
"RU", "MSH", "B1 medecine", "B3 medecine (ajouter)", "MPES", "Hall", "Arcen", _
"Ircamat", "B2 medecine", "salle examens")).Select Replace:=False
Range("A99").Select
Selection.PasteSpecial Paste:=xlPasteAll, Operation:=xlNone, SkipBlanks:= _
False, Transpose:=True
For i = 1 To 44
Sheets(1).Select
Range("H" & (4 + i * 2) & ":Z" & (4 + i * 2)).Select
Application.CutCopyMode = False
Selection.Copy
Sheets(21 + i).Select
Range("B99").Select
Selection.PasteSpecial Paste:=xlPasteAll, Operation:=xlNone, SkipBlanks:= _
False, Transpose:=True
Next
Sheets("mshpac").Select
Range("B99:B1466").Select
Selection.Cut
Sheets("MSH").Select
Range("D99").Select
ActiveSheet.Paste
Sheets("INDEXBATIMENTS").Select
Application.CutCopyMode = False
ActiveWindow.SelectedSheets.Delete
End SubMerci d'avance =D
j
bonjour
quelques conseils en vrac :
- mettre un titre plus précis aux questions sur n'importe quel forum. ça attire plus de réponses et c'est la règle
- joindre un fichier est bien plus efficace que recopier du texte ou une macro
- simplifier (un programme ou une macro ou quoi que ce soit) juste pour simplifier est une mauvaise idée. si ça marche, ne touche plus rien. Ce serait différent si la macro durait des heures, ou bine si tu devais plus tard la faire évoluer ou la faire modifier par un autre programmeur dans un cadre professionnel (standardisation du code)
bon codage
bonne journée