QuestionS

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 Sub

Merci d'avance =D

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

Rechercher des sujets similaires à "questions"