A voir également:
- [VBA] Appel dynamique à une procédure
- Tableau croisé dynamique - Guide
- Nommez une application d'appel vidéo ou de visioconférence - Guide
- Appel inconnu - Guide
- Liste déroulante dynamique excel - Guide
- Appel externe c'est quoi - Forum telephonie fixe
7 réponses
Utilisateur anonyme
9 mai 2006 à 13:18
9 mai 2006 à 13:18
Salut!
As-tu essayer d'appeler ta procédure sans les parenthèses?
HackTrack
As-tu essayer d'appeler ta procédure sans les parenthèses?
HackTrack
Utilisateur anonyme
10 mai 2006 à 00:40
10 mai 2006 à 00:40
Bonjour,
Voici la syntaxe type d'un bouton appellant :
Ici, c'est bien le nom d'une macro et non le nom d'une procédure. Vous pouvez contourner de deux façon, soit en chargeant les références nécessaires pour manipuler les objets VBA, l'ayant fait sous excel je puis vous dire que c'est lourd et autre soluce un peu moins élégante, vous allez créer une macro pour chaque "procédure" que vous transformé en fonction en modifiant le label "Sub" par "Function".
Dans les propriétés de la macro, choisissé l'option "ExécuterCode" et dans le Nom de la fonction, utiliser l'assistant [ ... ] pour pointer votre fonction, vous verrez tous vos modules et toute fonction s'y ratachant.
ainsi le code du haut fonctionnera puisque pour chaque "procédure" devenu "fonction", il y aura une macro d'appel.
Lupin
Voici la syntaxe type d'un bouton appellant :
Private Sub ExecuterSub_Click() On Error GoTo Err_ExecuterSub_Click Dim stDocName As String stDocName = "Macro1" DoCmd.RunMacro stDocName Exit_ExecuterSub_Click: Exit Sub Err_ExecuterSub_Click: MsgBox Err.Description Resume Exit_ExecuterSub_Click End Sub
Ici, c'est bien le nom d'une macro et non le nom d'une procédure. Vous pouvez contourner de deux façon, soit en chargeant les références nécessaires pour manipuler les objets VBA, l'ayant fait sous excel je puis vous dire que c'est lourd et autre soluce un peu moins élégante, vous allez créer une macro pour chaque "procédure" que vous transformé en fonction en modifiant le label "Sub" par "Function".
Dans les propriétés de la macro, choisissé l'option "ExécuterCode" et dans le Nom de la fonction, utiliser l'assistant [ ... ] pour pointer votre fonction, vous verrez tous vos modules et toute fonction s'y ratachant.
ainsi le code du haut fonctionnera puisque pour chaque "procédure" devenu "fonction", il y aura une macro d'appel.
Lupin
Merci mais cela alors reviens au meme de faire un :
Donc de faire une opération pour chaque module, et c'est ce que je voudrais éviter :(
Private Sub Commande4_Click() Select Case ZoneListe1.Value Case "1ereProcedure" 1ereProcedure.Stat Case "2emeProcedure" 2emeProcedure.Stat end select end sub
Donc de faire une opération pour chaque module, et c'est ce que je voudrais éviter :(
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Utilisateur anonyme
10 mai 2006 à 12:09
10 mai 2006 à 12:09
re :
pas tout a fait :
si vous charger les noms de macro dans votre liste !
Lupin
pas tout a fait :
Private Sub Commande4_Click() Dim stDocName As String stDocName = ZoneListe1.Value DoCmd.RunMacro stDocName End sub
si vous charger les noms de macro dans votre liste !
Lupin
Utilisateur anonyme
10 mai 2006 à 12:40
10 mai 2006 à 12:40
re :
oui, c'est cela ! j'ai testé et ça fonctionne bien :-)
Lupin
oui, c'est cela ! j'ai testé et ça fonctionne bien :-)
Lupin