Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Appel de procédure Private Sub

2 réponses
Avatar
Pounet95
Nota : Ceci est un re-post car je ne vois mon envoi de 7:50 ( désolé si
doublon )

Bonjour à toutes et tous, ( contributeurs du forum et contributeurs à cette
journée de solidarité pour nos anciens )
XL2000, Windows XP ou Windows2000

Dans un module standard existent plusieurs procédures déclarées Private de
façon à ne pas les voir quand on utilise le menu Outils/Macros.
Dans un userform, je désire faire appel à une de ces procédures en invoquant
son nom.
Or j'ai le message "Erreur de compilation : Sub ou Fonction non définie"
Evidemment, si je passe cette Private Sub en Function, ça marche !
.......... mais la fonction ( qui n'en est pas une puisque ne retournant pas
de valeur dans ce cas ) est alors disponible dans la liste des fonctions
!!!!

Comment puis-je accéder à ma procédure à partir du userform sans avoir
besoin de la changer en fonction ?
J'ai tenté Call <nom sub> mais sans succès. Syntaxe ???

Merci de votre réponse

Pounet95

2 réponses

Avatar
garnote
Bonjour Pounet,

Un exemple qui semble fonctionner :

Dans un module standard :
Private Sub Alterne()
MsgBox "Bonjour."
End Sub

Code associé au bouton CommandButton1 d'un UserForm :
Private Sub CommandButton1_Click()
Application.Run ("Alterne")
End Sub

Serge


"Pounet95" a écrit dans le message de news: 465a77d7$0$25936$
Nota : Ceci est un re-post car je ne vois mon envoi de 7:50 ( désolé si doublon )

Bonjour à toutes et tous, ( contributeurs du forum et contributeurs à cette
journée de solidarité pour nos anciens )
XL2000, Windows XP ou Windows2000

Dans un module standard existent plusieurs procédures déclarées Private de
façon à ne pas les voir quand on utilise le menu Outils/Macros.
Dans un userform, je désire faire appel à une de ces procédures en invoquant
son nom.
Or j'ai le message "Erreur de compilation : Sub ou Fonction non définie"
Evidemment, si je passe cette Private Sub en Function, ça marche !
.......... mais la fonction ( qui n'en est pas une puisque ne retournant pas
de valeur dans ce cas ) est alors disponible dans la liste des fonctions
!!!!

Comment puis-je accéder à ma procédure à partir du userform sans avoir
besoin de la changer en fonction ?
J'ai tenté Call <nom sub> mais sans succès. Syntaxe ???

Merci de votre réponse

Pounet95




Avatar
Pounet95
Merci Serge,
Bien qu'ayant déjà aperçu cette syntaxe, je ne l'avais jamais employée.
C'est chose faite et c'est ce que je cherchais.
Bonne journée ( pluvieuse sur Région Parisienne )

Pounet
"garnote" a écrit dans le message de news:

Bonjour Pounet,

Un exemple qui semble fonctionner :

Dans un module standard :
Private Sub Alterne()
MsgBox "Bonjour."
End Sub

Code associé au bouton CommandButton1 d'un UserForm :
Private Sub CommandButton1_Click()
Application.Run ("Alterne")
End Sub

Serge


"Pounet95" a écrit dans le message de news:
465a77d7$0$25936$
Nota : Ceci est un re-post car je ne vois mon envoi de 7:50 ( désolé si
doublon )

Bonjour à toutes et tous, ( contributeurs du forum et contributeurs à
cette
journée de solidarité pour nos anciens )
XL2000, Windows XP ou Windows2000

Dans un module standard existent plusieurs procédures déclarées Private
de
façon à ne pas les voir quand on utilise le menu Outils/Macros.
Dans un userform, je désire faire appel à une de ces procédures en
invoquant
son nom.
Or j'ai le message "Erreur de compilation : Sub ou Fonction non définie"
Evidemment, si je passe cette Private Sub en Function, ça marche !
.......... mais la fonction ( qui n'en est pas une puisque ne retournant
pas
de valeur dans ce cas ) est alors disponible dans la liste des fonctions
!!!!

Comment puis-je accéder à ma procédure à partir du userform sans avoir
besoin de la changer en fonction ?
J'ai tenté Call <nom sub> mais sans succès. Syntaxe ???

Merci de votre réponse

Pounet95