Appeler un module VBA

Résolu
Bonjour,

Petit problème de programmation.

J'ai écrit un code dans un module (Sub ex1 () )

Je voudrais dans un autre module (Sub_principal) appeler le "Sub ex1" et qu'il ne s'exécute qu'une seul fois

Pouvez-vous m'aider ? Merci

bonne journée

8 réponses

  1. Contributeur
    Bonjour,

    il vous suffit juste d'écrire ex1 ou Call ex1 dans la routine principale.

    Exemple :
    Sub Sub_principal()
    ...
    Call ex1
    ...
    End Sub


    Cordialement.
    7
    1. J'ai déjà essayé, l'autre problème c'est qu'il me dit "variable ou procédure attendue, et non module"
      0
      1. Bonjour,
        Juste au passage, à quel moment vous avez ce message ?
        0
        1. C'est quand j'exécute mon programme (sub principal () ) en mode pas à pas.

          Ne faut-il pas déclarer les variables de sub ex1 () dans le principal ?
          0
          1. Bonjour,
            Si au début du module vous avez la ligne d'instruction [Option Explicit] vous devez déclarer les variables.
            Salutations.
            Le Pingou
            0
        2. Bonsoir;

          Tu n'aurais pas un nom de module appelé "ex1", par hasard?

          On ne peut pas nommer une Sub et un Module du même nom....

          bonne soirée
          3
          1. Bonjour,

            Pour exposer mon problème toujours pas résolu.

            Dans Microsoft Visual Basic sous Excel,

            j'ai créé 3 macros (commençant par Sub... et finissant par End Sub) dans le dossier module. Dans ce même dossier j'en ai créé une 4ème que j'appellerai principale dans lequelle je voudrais appeler les 3 macros (pour les excecuter).

            Merci pour votre aide
            1
            1. Modérateur
              Bonjour,
              Si ton code VBA n'est pas "top-secret", je t'invite, pour une solution définitive et rapide, à copier/coller les codes des trois procédures (j'ai créé 3 macros commençant par Sub... et finissant par End Sub) ici même dans une réponse. Tu verras, tu auras ta solution dans la journée...
              0
            2. Ce n'est pas le contenu qui importe, mais la manière d'appeler les procédures.

              Je suis sur la voie de la résolution, je vous tiens au courant
              0
          2. En fait j'ai dans les propriétés des modules (name) nommé le même nom que celui dans le module au niveau du Sub...

            Depuis que j'ai mis des noms différents j'arrive à appeler mes procédures
            1