André "Michel Gaboly" a écrit dans le message de news: % Bonjour,
En associant un code spécifique à l'événement Click de chaque b outon.
Typiquement, avec 2 boutons nommés BOK et BAnnuler :
Private Sub UserForm_QueryClose(Cancel As Integer, CloseMode As Integer ) ' Inhibe la croix de fermeture, afin d'obliger l'utilsateur à utilise r le bouton OK ' ou le bouton Annuler. If CloseMode = vbFormControlMenu Then Cancel = True End If End Sub
Private Sub BAnnuler_Click() Unload Me End Sub
Private Sub BOK_Click() ControleSaisie If Resultat Then ReportDonnees Unload Me End If End Sub
Private Sub ControleSaisie() ' Ton code pour vérifier que les infos attendues ont toutes ét é fournies et sont correctes ' J'utilise en général un booléen, Resultat pour stocker le résultat du contrôle effectué. End Sub
Private Sub ReportDonnees() ' Ton code pour traiter les données entrées End Sub
Si tu as besoin dans un autre module de savoir comment on a quitté un UserForm, tu utilises une variable initialisée à True, et ramenée à False si Annuler, ce qui donne :
Dans un module standard :
Public Suite as Boolean
Dans le module qui appelle le UserForm nommé ici DTest
Private Sub Toto Suite = True DTest.Show Msgbox Suite
Dans le module de DTest
Private Sub BAnnuler_Click() Suite = False Unload Me End Sub
Private Sub BOK_Click() ControleSaisie If Resultat Then ReportDonnees Unload Me End If End Sub
Si on a cliqué sur OK, Suite n'a pas été modifié, sinon Suite e st passé de True à False.
Bonjour à tous
quelle est la bonne façon de savoir si un userform a été fermé avec le bouton OK ou annuler par exemple ?
faut il utiliser une variable public initialisée par le bouton choisi ou y a t il plus simple ?
merci d'avace
André
-- Cordialement,
Michel Gaboly www.gaboly.com
De rien ;-))
Ca parait interessant
merci à tous
André
"Michel Gaboly" <michel.gaboly@wanadoo.fr> a écrit dans le message de news:
%23KDi2UKAGHA.3804@TK2MSFTNGP14.phx.gbl...
Bonjour,
En associant un code spécifique à l'événement Click de chaque b outon.
Typiquement, avec 2 boutons nommés BOK et BAnnuler :
Private Sub UserForm_QueryClose(Cancel As Integer, CloseMode As Integer )
' Inhibe la croix de fermeture, afin d'obliger l'utilsateur à utilise r le
bouton OK
' ou le bouton Annuler.
If CloseMode = vbFormControlMenu Then
Cancel = True
End If
End Sub
Private Sub BAnnuler_Click()
Unload Me
End Sub
Private Sub BOK_Click()
ControleSaisie
If Resultat Then
ReportDonnees
Unload Me
End If
End Sub
Private Sub ControleSaisie()
' Ton code pour vérifier que les infos attendues ont toutes ét é
fournies et sont correctes
' J'utilise en général un booléen, Resultat pour stocker le résultat du
contrôle effectué.
End Sub
Private Sub ReportDonnees()
' Ton code pour traiter les données entrées
End Sub
Si tu as besoin dans un autre module de savoir comment on a quitté un
UserForm, tu utilises une variable initialisée à
True, et ramenée à False si Annuler, ce qui donne :
Dans un module standard :
Public Suite as Boolean
Dans le module qui appelle le UserForm nommé ici DTest
Private Sub Toto
Suite = True
DTest.Show
Msgbox Suite
Dans le module de DTest
Private Sub BAnnuler_Click()
Suite = False
Unload Me
End Sub
Private Sub BOK_Click()
ControleSaisie
If Resultat Then
ReportDonnees
Unload Me
End If
End Sub
Si on a cliqué sur OK, Suite n'a pas été modifié, sinon Suite e st passé de
True à False.
Bonjour à tous
quelle est la bonne façon de savoir si un userform a été fermé avec le
bouton OK ou annuler par exemple ?
faut il utiliser une variable public initialisée par le bouton choisi ou y
a t il plus simple ?
André "Michel Gaboly" a écrit dans le message de news: % Bonjour,
En associant un code spécifique à l'événement Click de chaque b outon.
Typiquement, avec 2 boutons nommés BOK et BAnnuler :
Private Sub UserForm_QueryClose(Cancel As Integer, CloseMode As Integer ) ' Inhibe la croix de fermeture, afin d'obliger l'utilsateur à utilise r le bouton OK ' ou le bouton Annuler. If CloseMode = vbFormControlMenu Then Cancel = True End If End Sub
Private Sub BAnnuler_Click() Unload Me End Sub
Private Sub BOK_Click() ControleSaisie If Resultat Then ReportDonnees Unload Me End If End Sub
Private Sub ControleSaisie() ' Ton code pour vérifier que les infos attendues ont toutes ét é fournies et sont correctes ' J'utilise en général un booléen, Resultat pour stocker le résultat du contrôle effectué. End Sub
Private Sub ReportDonnees() ' Ton code pour traiter les données entrées End Sub
Si tu as besoin dans un autre module de savoir comment on a quitté un UserForm, tu utilises une variable initialisée à True, et ramenée à False si Annuler, ce qui donne :
Dans un module standard :
Public Suite as Boolean
Dans le module qui appelle le UserForm nommé ici DTest
Private Sub Toto Suite = True DTest.Show Msgbox Suite
Dans le module de DTest
Private Sub BAnnuler_Click() Suite = False Unload Me End Sub
Private Sub BOK_Click() ControleSaisie If Resultat Then ReportDonnees Unload Me End If End Sub
Si on a cliqué sur OK, Suite n'a pas été modifié, sinon Suite e st passé de True à False.
Bonjour à tous
quelle est la bonne façon de savoir si un userform a été fermé avec le bouton OK ou annuler par exemple ?
faut il utiliser une variable public initialisée par le bouton choisi ou y a t il plus simple ?