IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Macros et VBA Excel Discussion :

Peut-on enchainer plusieurs Macros ?


Sujet :

Macros et VBA Excel

  1. #1
    Membre habitué
    Profil pro
    Inscrit en
    Août 2007
    Messages
    684
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 684
    Points : 153
    Points
    153
    Par défaut Peut-on enchainer plusieurs Macros ?
    Bonjour,

    Peut-on enchainer plusieurs Macros ?

    Si oui comment ?

    Merci à vous

  2. #2
    Membre émérite
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    2 130
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 2 130
    Points : 2 443
    Points
    2 443
    Par défaut
    Citation Envoyé par malabarbe
    Bonjour,

    Peut-on enchainer plusieurs Macros ?

    Si oui comment ?

    Merci à vous
    Salu
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
     
    Sub test()
    Dim X As Integer
    X = MsgBox("OUI/NON", vbYesNo + vbQuestion, "Question")
    If X = 6 Then
        Call test_O
    Else
        Call test_N
    End If
    End Sub
    Sub test_O()
    MsgBox "Oui"
    End Sub
    Sub test_N()
    MsgBox "Non"
    End Sub
    A+

  3. #3
    Membre habitué
    Profil pro
    Inscrit en
    Août 2007
    Messages
    684
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 684
    Points : 153
    Points
    153
    Par défaut
    Salut,

    Merci pour ta réponse

    Mais je crois m'être mal exprimé !

    Ma question était plutot :

    Une macro peut-elle en appeller une autre ?

  4. #4
    Membre émérite
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    2 130
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 2 130
    Points : 2 443
    Points
    2 443
    Par défaut
    Citation Envoyé par malabarbe
    Salut,

    Merci pour ta réponse

    Mais je crois m'être mal exprimé !

    Ma question était plutot :

    Une macro peut-elle en appeller une autre ?
    Salut
    Dans mon exemple, la macro Test appelle soit la macro Test_O, soit la macro Test_N suivant le bouton utilisé.

    Si ce n'est pas ce que tu veux, détailles tes besoins
    A+

  5. #5
    Membre habitué
    Profil pro
    Inscrit en
    Août 2007
    Messages
    684
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 684
    Points : 153
    Points
    153
    Par défaut
    Oui, ce que je voudrais faire, c'est que a la
    fin de la Macro que j'exécute, juste la ligne
    avant le : End Sub, un appel pour lancer directement
    une autre Macro sans intervention de ma part.

  6. #6
    Membre expérimenté
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    1 563
    Détails du profil
    Informations personnelles :
    Âge : 61
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 1 563
    Points : 1 691
    Points
    1 691
    Par défaut
    si c'est dans le meme module, c'est vraiment pas compliqué
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    Sub premiere()
    MsgBox "premiere macro"
    End Sub
    Sub seconde()
    MsgBox "seconde macro"
    End Sub
    Sub avance()
    premiere
    seconde
    End Sub
    si c'est dans des modules diferends ( ou des classeurs differends?), je ne sais plus, je voudrais pas te dire de betises , mais tu dois utiliser run

  7. #7
    Membre habitué
    Profil pro
    Inscrit en
    Août 2007
    Messages
    684
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 684
    Points : 153
    Points
    153
    Par défaut
    OK,

    C'est bon, ton code est good

    Merci à toi

    @ +

  8. #8
    Membre émérite
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    2 130
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 2 130
    Points : 2 443
    Points
    2 443
    Par défaut
    Citation Envoyé par malabarbe
    OK,

    C'est bon, ton code est good

    Merci à toi

    @ +
    Salut
    Moi, je préfére utiliser l'instruction Call, plutôt que seulement le nom de la macro. C'est pareil, sauf lorsque tu fait des recherches sur beaucoup de lignes de code et de macros
    A+

  9. #9
    Membre habitué
    Profil pro
    Inscrit en
    Août 2007
    Messages
    684
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 684
    Points : 153
    Points
    153
    Par défaut
    salut,

    Merci, je vais tester avec le Call

    @ +

  10. #10
    Membre habitué Avatar de Oh!Tofocus
    Profil pro
    Inscrit en
    Août 2007
    Messages
    214
    Détails du profil
    Informations personnelles :
    Âge : 59
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 214
    Points : 157
    Points
    157
    Par défaut
    Attention malabarbe

    pense a utiliser Public en debut de module si tu veux utiliser la valeur d'une variable dans plusieurs macro

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    Public a
     
    Sub macro_1()
    a = 1
    Call macro_2
    End Sub
     
    Sub macro_2()
    Range("A1").Value = a
    End Sub
    fais le test sans Public tu comprendras.
    ça à été le sujet d'une grosse galère quand j'ai débuté avec VBA et que je n'avais pas internet avec son Forum de www.developpez.net

  11. #11
    Membre habitué
    Profil pro
    Inscrit en
    Août 2007
    Messages
    684
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 684
    Points : 153
    Points
    153
    Par défaut
    Bonsoir,

    Oui, cela va beaucoup mieux comme ça

    Merci

    @ +

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [AC-2007] enchainer plusieures macros
    Par nabou dans le forum Access
    Réponses: 7
    Dernier message: 28/01/2011, 16h46
  2. [debutant] enchainer plusieurs blocs <html><body>
    Par debdev dans le forum Balisage (X)HTML et validation W3C
    Réponses: 2
    Dernier message: 19/07/2005, 11h47
  3. [JPox] Peut on utiliser plusieurs fichiers .jdo ?!
    Par MinsK dans le forum Persistance des données
    Réponses: 7
    Dernier message: 28/06/2005, 17h04
  4. Une fonction peut-elle retourner plusieurs résultats ?
    Par aragorns dans le forum Général JavaScript
    Réponses: 5
    Dernier message: 26/03/2005, 22h18
  5. Peut-on utiliser plusieurs canaux DMA simultanément ?
    Par le mage tophinus dans le forum Assembleur
    Réponses: 18
    Dernier message: 26/09/2003, 09h18

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo