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 :

[VBA-Excel] appelle fonction ayant plusieurs paramètres


Sujet :

Macros et VBA Excel

  1. #1
    Membre du Club
    Inscrit en
    Février 2007
    Messages
    50
    Détails du profil
    Informations forums :
    Inscription : Février 2007
    Messages : 50
    Points : 43
    Points
    43
    Par défaut [VBA-Excel] appelle fonction ayant plusieurs paramètres
    Bonjour,

    Dans mes macros, je fais appel à d'autres macro (sub) (ex : maSub(param1) )
    Bizarrement, lorsque je crée une "Sub" avec 3 parametres, plus rien ne marche:
    1) le correcteur syntaxique m'indique "il manque un '=' sur la ligne :"
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
         maSub3(param1,param2,param3)
    2) pour contourner le problème, je rajoute une affectation inutile
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
        inutile = maSub3(param1,param2,param3)
    et là, VBA-Excel me renvoie une erreur "fonction non définie" alors que je l'ai définie par un
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    Sub maSub3(param1,param2,param3) 
          blabla ...
    End Sub
    3) j'ai également essayé de déclarer ma Sub en Private ou en Public, rien y fait; et j'ai rien vu d'autres dans les tutoriels ...

    Des idées ?

  2. #2
    Invité
    Invité(e)
    Par défaut
    Bonjour

    As-tu essayé de mettre call avant de lancer ta sub ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Call maSub3(param1,param2,param3)
    Starec

  3. #3
    Expert confirmé

    Profil pro
    Inscrit en
    Mai 2005
    Messages
    3 419
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 3 419
    Points : 4 297
    Points
    4 297
    Par défaut
    fais un appel par nomsub param1,param2,param3

  4. #4
    Membre du Club
    Inscrit en
    Février 2007
    Messages
    50
    Détails du profil
    Informations forums :
    Inscription : Février 2007
    Messages : 50
    Points : 43
    Points
    43
    Par défaut
    Trop Merci Starec !!!
    ca a marché du premier coup.
    c'est tout de même tordu que ca marche pour une fonction à paramettre et pas pour une fonction avec 0 ou plus de 2 parametres !

    Encore merci, et je marque "résolu"

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    553
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2004
    Messages : 553
    Points : 566
    Points
    566
    Par défaut
    si je peux me permettre un petit conseil, le call rend le code plus clair de par sa couleur qui permet de détecter beaucoup plus rapidement un appel de fonction

    Les appels du genre : maSub param1,param2,param3 manque de clareté à mon gout pour s'y retrovuer ensuite

  6. #6
    Invité
    Invité(e)
    Par défaut
    Re

    Je met toujours Call, mais si ce n'est pas obligatoire, cela passe à tous les coups, pas de soucis

    Starec

  7. #7
    Membre du Club
    Inscrit en
    Février 2007
    Messages
    50
    Détails du profil
    Informations forums :
    Inscription : Février 2007
    Messages : 50
    Points : 43
    Points
    43
    Par défaut
    Oui, le "call" est plus clair et devrais être obligatoire tout le temps.
    d'ailleurs, il n'est pas souvent dans les tutoriaux, ce qui est dommage et trompeur.

  8. #8
    Expert confirmé

    Profil pro
    Inscrit en
    Mai 2005
    Messages
    3 419
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 3 419
    Points : 4 297
    Points
    4 297
    Par défaut
    c'est curieux on n'écrit pas
    call msgbox ou call debug.print ?
    alors pourquoi écrire call maprocédure

    une ligne de code sans affectation et san mot clé renvoie à une procédure

    cela n'a rien d'obscur

    sinon pourquoi de pas utiliser un goto numéro de ligne, au demeurant parfaitement explicite

  9. #9
    Membre confirmé
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    553
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2004
    Messages : 553
    Points : 566
    Points
    566
    Par défaut
    perso je trouve plus clair avec le call
    chacun ses habitudes
    après c'est vrai que je fais exception pour le msgbox car c'est une méthode définie directement au sein même d'office

    Les méthodes utilisateurs ont des noms différents en fonction du programmeur et donc pour un ptogrammeur qui reprendrait le code, il serait plus visible de voir tout de suite si la méthode est une méthode développer en local ou si elle est incorpoer dans la bibliothèque d'outils

  10. #10
    Expert confirmé

    Profil pro
    Inscrit en
    Mai 2005
    Messages
    3 419
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 3 419
    Points : 4 297
    Points
    4 297
    Par défaut
    un programmeur égaré découvrant stupéfait et hagard la ligne de code

    machin 28,19,55

    pourrait toujours se précipiter sur son explorateur d'objets
    lequel le renverrait au module truc

  11. #11
    Membre confirmé
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    553
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2004
    Messages : 553
    Points : 566
    Points
    566
    Par défaut
    c'est bien t'as raison

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

Discussions similaires

  1. Appel d'une fonction avec plusieurs paramètres
    Par kazarn dans le forum Général JavaScript
    Réponses: 7
    Dernier message: 06/06/2009, 18h55
  2. [VBA] Excel : Appel de fonction au clique sur un boutton
    Par nanu dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 30/09/2006, 19h30
  3. [VBA][Excel] appel de fonction
    Par DonKnacki dans le forum Macros et VBA Excel
    Réponses: 8
    Dernier message: 20/12/2005, 10h53
  4. VBA Excel : la fonction ET
    Par sat478 dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 26/10/2005, 14h48
  5. VBA Excel : Appel d'un userform à l'aide d'une variable
    Par pierrot657 dans le forum Macros et VBA Excel
    Réponses: 13
    Dernier message: 01/06/2005, 23h08

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