macro pour commander des private sub

  • Initiateur de la discussion Cédric
  • Date de début
C

Cédric

Guest
Bonjour a tous,

je suis un débutant avec VBA et j'ai une petite question:
j'ai construit un classeur avec des macros (private sub ()) dans des onglets representant les 12 mois de l'année allant chercher des données dans des classeurs différents. La mise a jour de chaque onglet se fait en selectionnant l'onglet
comment puis je faire pour avoir une macro capable d'exexcuter mes 12 macros afin de créer un onglet recapitulatif et donc pouvant se mettre a jour

je vous remercie par avance pour votre réponse

Cédric
 

Moa

XLDnaute Occasionnel
Salut Cédric !

Apparement ta question concerne, en fait, deux sujets :

1) Lancer plusieurs macros l'une dernière l'autre.

2) Créer un onglet réapitulatif.

lancer toutes tes macros :

Sub LancerToutesLesMacros ()
NomDeTaPremière Macro
NomDeTaDeuxièmeMacro
NomDeTaTroisièmeMacro
etc..
etc..
NomDeTaDouzièmeMacro
End Sub

Pour la deuxième question, si tu sais déjà faire les premières macros, tu ne devrais pas avoir de problème pour un récapitulatif, sinon, il nous faudrait un fichier zippé, pour ouvoir t'aider plus.


@ +++


Moa
 

Creepy

XLDnaute Accro
Hello le Forum, Cédric,

Si j'ai bien compris tu veux qu'une macro appelle tes 12 macro les unes apres les autres !! ??

Si c'est cela que tu veux faire fait ca :

1 - Supprimer le 'Private' Devant tes 12 macros, sinon tu ne peux pas les appeller d'une autre procedure puisqu'elles sont 'privées' lol

2 - Tu fais une nouvelle macro :
Sub Recap_12_macros ()
Call Macro1
Call Macro2
...
Etc...
...
end sub

Voila

@+

Creepy
 
C

Cédric

Guest
Merci,
en fait mes 12 macros sont toutes identiques et sont de la forme suivante:

Private Sub Worksheet_Activate()
ActiveSheet.Unprotect Password:='bet'
....



ActiveSheet.Protect Password:='bet'
End Sub

elles sont dans l'onglet qd je fait un clic droit (visualiser le code)
alors elles ont pas de nom

alors comment puis-je faire car ca marche niquel qd je clique sur l'onglet les opérations se font

le soucis c pour mon fichier recap je sais pas ou faire ma macro et quelles commandes utiliser
 

Creepy

XLDnaute Accro
RE all,

Alors si j'ai bien compris tu dois avoir 12 feuilles dans ton fichier Excel et pour chaque feuille tu as une macro : Private Sub Worksheet_Activate() !!! Halalala c'est pas beau comme code !!

Tu sais que tu as une feuille de macro par 'feuilles' et une pour gere des activités au niveau fichier s'appelant : Thisworkbook

dans cette object' tu mets ca :

Private Sub Workbook_SheetActivate(ByVal Sh As Object)
    ActiveSheet.Unprotect Password:='bet'
   
'...
    ActiveSheet.Protect Password:='bet'
End Sub

Ainsi a chaque fois que tu changera de feuille la macro s'appliquera !!
Pas besoin de la dupliquer pour chaque feuille !!

C'est ca que tu veux ?

Si touours pas, mets un exemple

@+

Creepy
 

Discussions similaires

Réponses
4
Affichages
353

Statistiques des forums

Discussions
312 609
Messages
2 090 193
Membres
104 449
dernier inscrit
Miguel937