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 :

Fonction CALL ne fonctionne pas toujours [XL-2010]


Sujet :

Macros et VBA Excel

  1. #1
    Membre éprouvé Avatar de graphikris
    Homme Profil pro
    Pas tres doué
    Inscrit en
    Décembre 2012
    Messages
    1 222
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Pas tres doué
    Secteur : Conseil

    Informations forums :
    Inscription : Décembre 2012
    Messages : 1 222
    Par défaut Fonction CALL ne fonctionne pas toujours
    Bonjour,

    Une question m'interpelle concernant la fonction CALL qui permet d'appeler une macro dans une macro.

    J'ai 2 macros quasiment identiques concernant l'envoi d'un mail en fonction des retards d'échéances. L'une concerne un tri sur la feuille 1 et l'autre la feuille 2.

    Ensuite j'ai un Userform dans lequel j'ai deux CommandButton me permettant de déclencher la macro 1 et l'autre la macro 2.

    Je cherche à savoir pourquoi la fonction CALL fonctionne avec la macro 1 et pas sur la macro 2.

    J'ai le message d'erreur suivant :

    Variable ou procédure attendue, et non un module
    Voici le code du Userform :
    Code Macro 1 qui fonctionne
    Le nom de la macro 1 est le suivant : Sub Mail_Doc_Validation_Chef()

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    Private Sub CommandButton_Validation_Chef_Click()
    Sheets("Suivi documentaire").Visible = True
        Sheets("Suivi documentaire").Activate
        Sheets("Menu").Visible = False
        Unload Me
     
    Call Mail_Doc_Validation_Chef
     
    UserForm_Relances.Show
     
    End Sub
    Code Macro 2 qui ne fonctionne pas
    Le nom de la macro 2est le suivant : Mail_Retard_Plan_Action()
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    Private Sub CommandButton_Relance_Actions_RP_Click()
    Sheets("Plan actions Revues Processus").Visible = True
        Sheets("Plan actions Revues Processus").Activate
        Sheets("Menu").Visible = False
        Unload Me
     
    Call Mail_Retard_Plan_Action
    UserForm_Relances.Show
     
    End Sub
    Cordialement

  2. #2
    Expert éminent

    Profil pro
    Conseil, Formation, Développement - Indépendant
    Inscrit en
    Février 2010
    Messages
    8 569
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Conseil, Formation, Développement - Indépendant

    Informations forums :
    Inscription : Février 2010
    Messages : 8 569
    Par défaut
    Bonjour

    La procédure Mail_Retard_Plan_Action n'attend-elle pas d'argument ?

    Ce nom correspond-il bien à une Sub et non un module ?

  3. #3
    Expert confirmé

    Homme Profil pro
    Curieux
    Inscrit en
    Juillet 2012
    Messages
    5 169
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Curieux
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Juillet 2012
    Messages : 5 169
    Billets dans le blog
    5
    Par défaut
    Bonjour,

    pour prolonger la piste de Chris, tu n'aurais pas appelé ton module et ta procédure par le même nom ?

  4. #4
    Membre éprouvé Avatar de graphikris
    Homme Profil pro
    Pas tres doué
    Inscrit en
    Décembre 2012
    Messages
    1 222
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Pas tres doué
    Secteur : Conseil

    Informations forums :
    Inscription : Décembre 2012
    Messages : 1 222
    Par défaut
    Bjr et merci a vous 2.
    On en apprend tous les jours. Je ne savais pas qu'il ne fallait pas appeler les SUB et les modules avec le meme nom.

    Maintenant que j'ai modifié les noms tout fonctionne.

  5. #5
    Expert confirmé
    Homme Profil pro
    aucune
    Inscrit en
    Avril 2016
    Messages
    7 563
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 84
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : aucune

    Informations forums :
    Inscription : Avril 2016
    Messages : 7 563
    Par défaut
    Bonjour
    Je sais que d'aucuns me trouveront trop soucieux de la justesse des termes utilisés. Cette justesse est pourtant révélatrice de la pleine conscience des fondements mêmes.
    Call n'est pas une "fonction". Call ne retourne aucune valeur.
    Call est une instruction. Call procède à une exécution.

  6. #6
    Expert éminent
    Avatar de Marc-L
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2013
    Messages
    9 468
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2013
    Messages : 9 468
    Par défaut

    Bonjour,

    et de plus l'instruction Call est inutile - facultative - comme indiqué dans l'aide VBA interne …

    ___________________________________________________________________________________________________________
    Je suis Paris, London, Manchester, Egypte, Stockholm, Istanbul, Berlin, Nice, Bruxelles, Charlie, …

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

Discussions similaires

  1. [XL-2007] Fonction somme.si ne fonctionne pas toujours
    Par tofies33 dans le forum Macros et VBA Excel
    Réponses: 8
    Dernier message: 25/02/2015, 12h38
  2. fonction intval ne fonctionne pas toujours ?
    Par ninikkhuet dans le forum Langage
    Réponses: 2
    Dernier message: 24/12/2009, 10h23
  3. paramètre string fonction -> fonctionne pas toujours?!
    Par francoisvba dans le forum Macros et VBA Excel
    Réponses: 24
    Dernier message: 12/12/2008, 18h08
  4. fonction plpgsql qui fonctionne pas...
    Par Empty_body dans le forum PostgreSQL
    Réponses: 3
    Dernier message: 15/01/2006, 18h22
  5. La fonction CurrentDb() ne fonctionne pas dans une requête
    Par Sébastien Le Goyet dans le forum Access
    Réponses: 8
    Dernier message: 24/11/2005, 17h46

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