OVH Cloud OVH Cloud

Re : Code pour une boîte de dialogue

3 réponses
Avatar
news.urbanet.ch
Bonjour,
Je désire lancer une macro, mais auparavant, je souhaite qu'une boîte de
dialogue permette d'accepter le lancement de la macro (bouton OK), ou annule
l'opération (bouton Annuler).
Quelqu'un peut-il me donner un exemple de code que j'adapterai à mes besoins
?
Merci !
--
To answer, remove DEL from my address !
Pour répondre, enlever DEL de mon adresse !

3 réponses

Avatar
Pascal BENOIT

Je désire lancer une macro, mais auparavant, je souhaite qu'une boîte de
dialogue permette d'accepter le lancement de la macro (bouton OK), ou annule
l'opération (bouton Annuler).
Quelqu'un peut-il me donner un exemple de code que j'adapterai à mes besoins ?



Bonjour,

Comme je vois qu'aucun des spécialistes du forum n'a encore donné de
réponse, je me lance et te donne ce que j'ai trouvé à ce sujet.

Il semble que ce qui devrait faire l'affaire dans ton cas est une procédure
de type "msgbox" sur l'évènement "sur clic" du bouton de lancement de ta
macro (bouton que j'ai appelé "TestMacro" dans l'exemple) :


*********************************************************************

Private Sub TestMacro_Click()

Dim Retour As Integer

Retour = MsgBox("Etes-vous sur ?", 33, "CONFIRMATION")
If Retour = vbOK Then
Beep
lancement de ta macro <<<<<<<<<<<<
End If










End Sub

*********************************************************************

L'argument n°1 = "Etes-vous sur ?" est le message affiché dans la boîte
L'argument n°2 = 33 donne le choix des boutons "OK" et "Annuler" + la
petite icône en forme de bulle avec un point d'interrogation.
L'argument n°3 = "CONFIRMATION" est le texte inscrit dans la barre de titre
de la boîte de dialogue

Si tu cliques sur "OK", c'est vbOK qui sera retourné dans la variable
Retour.

Tu noteras mes grosses lacunes en VBA (je débute), qui m'ont amené à écrire
: >>>>>>>>> lancement de ta macro <<<<<<<<<<<< au lieu du code adéquat (que
je ne connais pas (execute ? call ? do ? etc. ) ... ne connaissant ni la
commande, ni la syntaxe pour demander ici l'éxécution de ta macro, je te
laisse le soin de compléter ... (je suis d'ailleurs intéressé par cette
syntaxe, histoire de progresser aussi)!


Voilà.
Je finis en citant mes sources (car je n'ai, bien sur, rien inventé pour te
répondre) :
http://www.cathyastuce.com/vba/entree_sortie.htm#mes


Cordialement,
Pascal.









Avatar
Evaro
Bonjour,

"Pascal BENOIT" a écrit dans le message de news:


Je désire lancer une macro, mais auparavant, je souhaite qu'une boîte
de


dialogue permette d'accepter le lancement de la macro (bouton OK), ou
annule


l'opération (bouton Annuler).
Bonjour,


Il semble que ce qui devrait faire l'affaire dans ton cas est une
procédure

de type "msgbox" sur l'évènement "sur clic" du bouton de lancement de ta
macro (bouton que j'ai appelé "TestMacro" dans l'exemple) :


*********************************************************************

Private Sub TestMacro_Click()

Dim Retour As Integer

Retour = MsgBox("Etes-vous sur ?", 33, "CONFIRMATION")


Il est préférable d'utiliser les constantes, le code sera plus lisible :
Retour = MsgBox("Etes-vous sur ?", vbOKCancel + vbQuestion,
"CONFIRMATION")

Tu noteras mes grosses lacunes en VBA (je débute), qui m'ont amené à
écrire

: >>>>>>>>> lancement de ta macro <<<<<<<<<<<< au lieu du code adéquat
(que

je ne connais pas (execute ? call ? do ? etc. )


Docmd.RunMacro "MaMacro"

--
@ +
Etienne
Charte du forum: http://users.skynet.be/mpfa/charte.htm
Où vous trouverez plein d'autres liens....


Avatar
Pascal BENOIT

Retour = MsgBox("Etes-vous sur ?", 33, "CONFIRMATION")


Il est préférable d'utiliser les constantes, le code sera plus lisible :
Retour = MsgBox("Etes-vous sur ?", vbOKCancel + vbQuestion,
"CONFIRMATION")


Merci de cette précision. Je ne savais pas qu'on pouvait donner
l'expression des constantes vbxxx + vbyyy.
J'en prends bonne note.

Docmd.RunMacro "MaMacro"


OK. Je le note aussi !

... je crois qu'avec tout cela, "news.urbanet.ch" a la
réponse complète à sa question.

Cordialement,
Pascal.