Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
2779 connectés 

  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  Appel d'une procédure dont le nom est contenu dans une variable

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Appel d'une procédure dont le nom est contenu dans une variable

n°1573874
Lapin26
Posté le 12-06-2007 à 16:20:45  profilanswer
 

Bonjour, je suis en BTS informatique et je suis actuellement en stage. Je dois réaliser un programme et je bloque sur un truc, j'ai cherché pendant un moment et je suis assez désespéré.
 
En fait je souhaiterais simplement appeler une procédure dont le nom est contenu dans une variable de type chaîne... Vous allez peut-être me prendre pour un idiot mais mon programme sera grandement allourdi si je ne peux pas faire ça.
 
Merci d'avance pour votre aide.

mood
Publicité
Posté le 12-06-2007 à 16:20:45  profilanswer
 

n°1574003
Lapin26
Posté le 12-06-2007 à 17:56:50  profilanswer
 

Snif y'a personne qui répond... :'(

n°1574057
ingenieurc​esi
Posté le 12-06-2007 à 20:41:23  profilanswer
 

avec call ca marche ?

n°1574058
ingenieurc​esi
Posté le 12-06-2007 à 20:41:26  profilanswer
 

Appel de procédures Sub et Function
   
 
Pour appeler une procédure Sub depuis une autre procédure, tapez le nom de la procédure sans oublier les valeurs des arguments obligatoires. L'instruction Call n'est pas obligatoire, mais si vous l'utilisez, vous devez mettre les éventuels arguments entre parenthèses.
 
Vous pouvez utiliser une procédure Sub pour organiser d'autres procédures de manière à simplifier leur interprétation et leur débogage. Dans l'exemple suivant, la procédure Sub Main appelle la procédure Sub MultiBeep, passant la valeur 56 comme argument. Après l'exécution de MultiBeep, le système redonne la main à Main qui appelle la procédure Sub Message. Message affiche un message ; lorsque l'utilisateur clique sur OK, la main revient à Main qui se termine.
 
Sub Main()
    MultiBeep 56
    Message
End Sub
 
Sub MultiBeep(numbeeps)
    For counter = 1 To numbeeps
        Beep
    Next counter
End Sub
 
Sub Message()
    MsgBox "Il est temps de faire une pause!"
End Sub
 
Appel de procédures Sub avec plusieurs arguments
L'exemple suivant illustre deux manières d'appeler une procédure Sub avec plusieurs arguments. Lors du second appel de HouseCalc, les arguments doivent être mis entre parenthèses parce que l'instruction Call est employée.
 
Sub Main()
    HouseCalc 99800, 43100
    Call HouseCalc(380950, 49500)
End Sub
 
Sub HouseCalc(price As Single, wage As Single)
    If 2.5 * wage <= 0.8 * price Then
        MsgBox "Cette maison est trop chère."
    Else
        MsgBox "Cette maison est abordable."
    End If
End Sub
 
Utilisation de parenthèses lors d'appel de procédures Function
Pour utiliser la valeur renvoyée d'une fonction, affectez la fonction à une variable et mettez les arguments entre parenthèses, comme le montre l'exemple suivant.
 
Answer3 = MsgBox("Votre salaire vous convient-il?", 4, "Question 3" )
 
Si la valeur renvoyée d'une fonction ne vous intéresse pas, vous pouvez appeler une fonction de la même manière qu'une procédure Sub. Omettez les parenthèses, indiquez les arguments et n'affectez pas la fonction à une variable, comme le montre l'exemple suivant.
 
MsgBox "Tâche terminée!", 0, "Boîte de tâche"
 
Attention   Si vous incluez des parenthèses dans l'exemple précédent, l'instruction cause une erreur de syntaxe.
 
Passage d'arguments nommés
Une instruction dans une procédure Sub ou Function peut passer des valeurs à des procédures appelées en utilisant des arguments nommés. Vous pouvez indiquer les arguments nommés dans n'importe quel ordre. Un argument nommé est composé du nom de l'argument suivi des signes deux-points et égal (:=), puis de la valeur affectée à l'argument.
 
L'exemple suivant appelle la fonction MsgBox en utilisant les arguments nommés sans valeur renvoyée.
 
MsgBox Title:="Boîte de tâche", Prompt:="Tâche terminée!"
 
L'exemple suivant appelle la fonction MsgBox en utilisant des arguments nommés. La valeur renvoyée est affectée à la variable answer3.
 
answer3 = MsgBox(Title:="Question 3", _
    Prompt:="Votre salaire vous convient-il?", Buttons:=4)
 

n°1574514
Lapin26
Posté le 13-06-2007 à 17:03:05  profilanswer
 

En fait ce que je voudrais faire c'est ça :
 
Private Sub bt_ok_Click()
   MaProcedure = "Nom_de_ma_procedure"
   Call MaProcedure
EndSub
 
Le problème c'est que vb ne va pas chercher une procédure qui porte le nom "Nom_de_ma_procedure" mais une procédure qui porte le nom MaProcedure... :s
 
Sous Vba je crois qu'il faut utiliser la fonction RUN mais sous vb j'ai rien trouvé... A croire que personne n'a jamais voulu faire ça  :heink:


Message édité par Lapin26 le 13-06-2007 à 17:14:45
n°1574536
tegu
Posté le 13-06-2007 à 17:30:37  profilanswer
 

C'est la fonction CallByName() qui t'intéresse

n°1574549
Lapin26
Posté le 13-06-2007 à 17:47:21  profilanswer
 

J'ai bien essayé mais ça me dit que le type est incompatible, erff...
 
Tu pourrais pas me dire comment je dois l'utiliser dans ma procédure s'il te plaît ?

n°1574677
kiki29
Posté le 14-06-2007 à 00:01:14  profilanswer
 
n°1574764
Lapin26
Posté le 14-06-2007 à 10:21:56  profilanswer
 

Comme ça ça a l'air de marcher ! Merci ingenieurcesi et kiki29 !!!!!
 
@++ tout le monde !

n°1574812
tegu
Posté le 14-06-2007 à 11:37:09  profilanswer
 

Ça fait plaisir d'aider les gens...


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  Appel d'une procédure dont le nom est contenu dans une variable

 

Sujets relatifs
[MySQL] Procédure stockée : parcourir les résultats d'un SELECT ?Variable d'environnement [batch] Copier et dater du clic droit
[php] variable (caché) dans lienRetourner variable js dans champs texte d'un formulaire
[javascript][resolu] variable php dans javascriptFonction Array() et variable, possible?
Appel d'un web service depuis J2ME : UnsatisfiedLinkError[php] Comment récupéré les trois premieres lettre d'une variable?
mettre le contenu d'un fichier dans une variable 
Plus de sujets relatifs à : Appel d'une procédure dont le nom est contenu dans une variable


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR