Fusionner plusieurs macro ?

[Fermé]
Signaler
-
 CCh14 -
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

Messages postés
10146
Date d'inscription
lundi 18 octobre 2010
Statut
Membre
Dernière intervention
13 octobre 2021
2 228
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
2
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

CCM 41713 internautes nous ont dit merci ce mois-ci

Messages postés
24198
Date d'inscription
mardi 11 septembre 2007
Statut
Contributeur
Dernière intervention
15 octobre 2021
6 927
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.
Merci mille fois à tous les deux !
C'est simple, propre, plus pratique que neuf boutons.
Merci encore,
Claire