Fusionner plusieurs macro ?

Bonjour,

Je suis assez novice en Macro, et je suis désemparée face à un problème de macro.

J'ai réalisé 9 macro avec Visual Basic, qui copie une cellule dans une feuille si la condition est respectée.
Macro 1 "Si "transport" figure dans la colonne P, copie la dans la feuille2, colonne A//
Macro 2 Si energie figure dans la colonne P, copie la dans la feuille 2, colonne B
Etc.
Cela ressemble à cela :

Sub Workbook_transport()

Dim Lig As Long
Dim Col As String
Dim NbrLig As Long
Dim NumLig As Long

Sheets("Feuil1").Activate ' feuille de destination

Col = "P" ' colonne de la donnée non vide à tester
NumLig = 5
NumCol = "H"
With Sheets("Bio+2014") ' feuille source
NbrLig = .Cells(65536, Col).End(xlUp).Row
For Lig = 1 To NbrLig
If .Cells(Lig, Col).Value = "Transport" Then
.Range("F" & Lig & ":F" & Lig).Copy
NumLig = NumLig + 1

Cells(NumLig, NumCol).Select
ActiveSheet.Paste
End If
Next
End With

End Sub

J'aimerai dans ce tableau constitué par toutes les macro faire figurer un bouton pour exécuter les neufs macro.
Comment puis-je faire ?
Est ce qu'il faut que je fusionnne mes neuf codes ?
Est ce qu'il faut que fasse neuf boutons ? (j'ai essayé mais cela ne fonctionne pas...

Merci d'avance, je suis déjà sur ce problème depuis plus de deux heure....Je m'arrache les cheveux !!!

3 réponses

  1. Bonjour

    Le plus simple, tu crées une nouvelle macro qui appelles les 9 autres

    Sub CopieTout()
      Call Macro1
      Call Macro2
      .
      .
      Call Macro9
    End Sub

    Puis tu affectes cette macro à ton bouton

    Bon courage
    1. Contributeur
      Bonjour,

      fais-toi une macro qui appelle toutes les autres, et c'est celle-ci que tu appelleras de ton bouton.

      sub tout()
      macro1
      macro2
      macro3
      end sub

      Il y a sans moyen de simplifier mais comme elles sont toutes faites...
      eric

      Jamais tu ne répondras à un mp non sollicité...
      Bon, ça c'est fait.
      1. Merci mille fois à tous les deux !
        C'est simple, propre, plus pratique que neuf boutons.
        Merci encore,
        Claire