Automatiser les macros
dianbobo
Messages postés
167
Statut
Membre
-
lermite222 Messages postés 9042 Statut Contributeur -
lermite222 Messages postés 9042 Statut Contributeur -
Bonjour,
j'ai fait plusieurs macros qui s'executent dans des feuilles differentes
sauf que les resultats dans certaines feuilles dependent das autre
alors il me faut faire une automatisation de mes macros dans un certain ordre
supposons que j'ai
dans la feuille ("synthese") 2 macros: macro1 et macro2
tel que macro1 doit sexecuter avant macro2
puis quand je sorts de cette feuille ,je me retrouve dans ma feuille ("feuil1")
celle ci ayant 3 macros macro_a,macro_b et macro_c
macro _a s'execute puis macro_b enfin macro_c
enfin j'ai ma feuille ("feuil2")
ayant une seule macro
macro_h
est-il paussible de creer une boite de dialogue qui me demande de cliquer sur des boutons
portants les noms de mes macros?
merci de m'aider
j'ai fait plusieurs macros qui s'executent dans des feuilles differentes
sauf que les resultats dans certaines feuilles dependent das autre
alors il me faut faire une automatisation de mes macros dans un certain ordre
supposons que j'ai
dans la feuille ("synthese") 2 macros: macro1 et macro2
tel que macro1 doit sexecuter avant macro2
puis quand je sorts de cette feuille ,je me retrouve dans ma feuille ("feuil1")
celle ci ayant 3 macros macro_a,macro_b et macro_c
macro _a s'execute puis macro_b enfin macro_c
enfin j'ai ma feuille ("feuil2")
ayant une seule macro
macro_h
est-il paussible de creer une boite de dialogue qui me demande de cliquer sur des boutons
portants les noms de mes macros?
merci de m'aider
9 réponses
-
Salut,
si tu va dans affichage> barre d'outils et que tu coches formulaire tu pourras créer un bouton.
Lorsque tu crées ce bouton une fenêtre s'affiche et tu peux choisir la macro que tu veux lui affecter...
Voilà je pense que ça devrait t'aider
ben -
Bonjour,
Et pourquoi ne pas faire une macro qui appel toutes tes macros dans l'ordre qu'il faut ?
A+ -
bonjour, voila j'ai fait une macro qui appelle toues les autes mais je me pose une question : dans quelle feuille active dois-je ecrire cette macro ou bien je peu la mettre dans n'importe laquelle.
Option Explicit Sub Lance() Worksheets("Syntèse").Activate Call macrosynthese 'code qui recupère les oblig de la nvll dispo vers la feuille synthese(1) Call suprimeligne 'code qui retranche toutes les obligations qui n'ont pas un taux fixe(2) Worksheets("Feuil1").Activate Call marcotest 'copie de toutes les oblig a taux fixe de la feuille synthese vers feuil1(3) Call Prixspot 'calcul du prix spot aujourd'hui(4) Worksheets("Risque Crédit").Activate Call spreadDeCredit 'ecart entre le prix spot aujourd'hui et celui a l'emission(5) Worksheets("Feuil1").Activate Call valorisation_coupon_Annuel 'code sur la valorisation d'oblig à coupons annuels Call valo_coupon_trimestriel 'code sur la valorisation d'oblig a coupons trimestriels Call valo_coupon_semestriels 'code sur la valorisation d'oblig a coupons semestriels End Sub
merci de votre aide -
C'est dans tes différentes macros que tu doit spécifier dans quel feuille et où ça doit être copier et pas dans la macro récapitulative.
A+
L'expérience instruit plus sûrement que le conseil. (André Gide)
Si tu te cogne à un pot et que ça sonne creux, c'est pas forcément le pot qui est vide. ;-)(Confucius) -
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question -
bonjour lermite222,
je ne comprend pas bien ce uqe tu essais de me dire .
peu tu me donner un exemple?
merci -
Quand je lis.. Worksheets("Syntèse").Activate Call macrosynthese 'code qui recupère les oblig de la nvll dispo vers la feuille synthese(1)
la ligne <Worksheets("Syntèse").Activate > ne devrait pas être dans la macro Lance mais dans la macro macrosynthese
ce serait plus conforme et autoriserait, dans certaines conditions de ne faire appel qu'a cette macro;
PS : Mais ça fonctionne de même .
A+
L'expérience instruit plus sûrement que le conseil. (André Gide)
Si tu te cogne à un pot et que ça sonne creux, c'est pas forcément le pot qui est vide. ;-)(Confucius) -
voila je l'ai fait dit vu que la feuille synthese a plusieurs macros dois-je ecrire
Worksheets("Syntèse").Activate
dans chaque macro de la feuille synthese ou tout simplement dans macro synthese
sinon la macro ne fonctionne pas toujours ,j'ai toujours la meme erreur. -
l'erreur se trouve
ici:Call macrosynthese
erreur de compilation "sub ou fonction non definie"
et ce a toutes les macros lorsque je passe par exemple macrosynthese en commentaire cette erreur est revelée a :Call suprimeligne
et ainsi de suite.. -
Tes macros DOIVENT ÊTRE dans un module Bas ainsi que ta macro Lance.
Mais pas dans des modules de feuille.
Pour un module Bas .. Insertion >> Module.
Tu met toutes tes macros dans ce module.
Sinon tu doit déclarer dans quel feuille ça se trouve.. call Feuil1!NomMacro
A+