Je souhaite donc interdire une Sub à la fermeture d'un UserForm par la croix en haut à droite, une piste... un bout de code....
Merci pour votre aide.
-cphil-
Bonsoir,
Peut-être ne suis-je pas très en forme, mais ça veut dire quoi, interdire une Sub ?
François Picalausa
"cphil" <cazenave.(suffitspam) a écrit dans le message de news:e%
Bonjour/soir à tous,
Je souhaite donc interdire une Sub à la fermeture d'un UserForm par la croix en haut à droite, une piste... un bout de code....
Merci pour votre aide.
-cphil-
Bonjour/soir,
Tu veu dire quelquechose comme Private Sub UserForm_QueryClose(Cancel As Integer, CloseMode As Integer) If MsgBox("Voulez-vous vraiment quitter?", vbYesNo) = vbNo Then Cancel = True End If End Sub ?
"cphil" <cazenave.(suffitspam)philippe@free.fr> a écrit dans le message
de news:e%23y3CmyxDHA.2508@TK2MSFTNGP12.phx.gbl
Bonjour/soir à tous,
Je souhaite donc interdire une Sub à la fermeture
d'un UserForm par la croix en haut à droite, une piste...
un bout de code....
Merci pour votre aide.
-cphil-
Bonjour/soir,
Tu veu dire quelquechose comme
Private Sub UserForm_QueryClose(Cancel As Integer, CloseMode As Integer)
If MsgBox("Voulez-vous vraiment quitter?", vbYesNo) = vbNo Then
Cancel = True
End If
End Sub
?
"cphil" <cazenave.(suffitspam) a écrit dans le message de news:e%
Bonjour/soir à tous,
Je souhaite donc interdire une Sub à la fermeture d'un UserForm par la croix en haut à droite, une piste... un bout de code....
Merci pour votre aide.
-cphil-
Bonjour/soir,
Tu veu dire quelquechose comme Private Sub UserForm_QueryClose(Cancel As Integer, CloseMode As Integer) If MsgBox("Voulez-vous vraiment quitter?", vbYesNo) = vbNo Then Cancel = True End If End Sub ?
Je reprends le fil suite à un petit diner entre amis. Exemple: avec un contrôle TextBox ou autre ayant une condition de renseignement ou de sélection avec message d'information, comment éviter l'exécution de cette condition si le contrôle ayant le focus n'est pas renseigné( c'est à dire vide dans mon langage d'apprenti programmeur ) lorsque l'on quitte le UserForm Pas simple à expliquer, j'espère avoir été plus clair, merci pour votre patience et votre diligence.
Bonne nuit.
-cphil-
----- Original Message ----- From: "François Picalausa" Newsgroups: microsoft.public.fr.vb Sent: Saturday, December 20, 2003 8:56 PM Subject: Re: Interdire une Sub lors de la fermeture d'un UserForm
"cphil" <cazenave.(suffitspam) a écrit dans le message de news:e% > Bonjour/soir à tous, > > Je souhaite donc interdire une Sub à la fermeture > d'un UserForm par la croix en haut à droite, une piste... > un bout de code.... > > Merci pour votre aide. > > -cphil-
Bonjour/soir,
Tu veu dire quelquechose comme Private Sub UserForm_QueryClose(Cancel As Integer, CloseMode As Integer) If MsgBox("Voulez-vous vraiment quitter?", vbYesNo) = vbNo Then Cancel = True End If End Sub ?
Je reprends le fil suite à un petit diner entre amis.
Exemple:
avec un contrôle TextBox ou autre ayant une condition de
renseignement ou de sélection avec message d'information, comment
éviter l'exécution de cette condition si le contrôle ayant le focus n'est
pas renseigné( c'est à dire vide dans mon langage d'apprenti programmeur )
lorsque l'on quitte le UserForm
Pas simple à expliquer, j'espère avoir été plus clair, merci pour votre
patience
et votre diligence.
Bonne nuit.
-cphil-
----- Original Message -----
From: "François Picalausa" <fpicalausa@chez.com>
Newsgroups: microsoft.public.fr.vb
Sent: Saturday, December 20, 2003 8:56 PM
Subject: Re: Interdire une Sub lors de la fermeture d'un UserForm
"cphil" <cazenave.(suffitspam)philippe@free.fr> a écrit dans le message
de news:e%23y3CmyxDHA.2508@TK2MSFTNGP12.phx.gbl
> Bonjour/soir à tous,
>
> Je souhaite donc interdire une Sub à la fermeture
> d'un UserForm par la croix en haut à droite, une piste...
> un bout de code....
>
> Merci pour votre aide.
>
> -cphil-
Bonjour/soir,
Tu veu dire quelquechose comme
Private Sub UserForm_QueryClose(Cancel As Integer, CloseMode As Integer)
If MsgBox("Voulez-vous vraiment quitter?", vbYesNo) = vbNo Then
Cancel = True
End If
End Sub
?
Je reprends le fil suite à un petit diner entre amis. Exemple: avec un contrôle TextBox ou autre ayant une condition de renseignement ou de sélection avec message d'information, comment éviter l'exécution de cette condition si le contrôle ayant le focus n'est pas renseigné( c'est à dire vide dans mon langage d'apprenti programmeur ) lorsque l'on quitte le UserForm Pas simple à expliquer, j'espère avoir été plus clair, merci pour votre patience et votre diligence.
Bonne nuit.
-cphil-
----- Original Message ----- From: "François Picalausa" Newsgroups: microsoft.public.fr.vb Sent: Saturday, December 20, 2003 8:56 PM Subject: Re: Interdire une Sub lors de la fermeture d'un UserForm
"cphil" <cazenave.(suffitspam) a écrit dans le message de news:e% > Bonjour/soir à tous, > > Je souhaite donc interdire une Sub à la fermeture > d'un UserForm par la croix en haut à droite, une piste... > un bout de code.... > > Merci pour votre aide. > > -cphil-
Bonjour/soir,
Tu veu dire quelquechose comme Private Sub UserForm_QueryClose(Cancel As Integer, CloseMode As Integer) If MsgBox("Voulez-vous vraiment quitter?", vbYesNo) = vbNo Then Cancel = True End If End Sub ?
Pourtant, peut-être est-ce une lacune de ma part, j'avoue que ce tu dis là m'évoque des souvenirs bien plus précis sous Access que sous VB6.
Pourrais-tu rappeler le nom de la propriété du TextBox qui impose la saisie avant d'avoir quitté le formulaire ? _______________ cphil a écrit :
Rebonjour/soir,
Je reprends le fil suite à un petit diner entre amis. Exemple: avec un contrôle TextBox ou autre ayant une condition de renseignement ou de sélection avec message d'information, comment éviter l'exécution de cette condition si le contrôle ayant le focus n'est pas renseigné( c'est à dire vide dans mon langage d'apprenti programmeur ) lorsque l'on quitte le UserForm Pas simple à expliquer, j'espère avoir été plus clair, merci pour votre patience et votre diligence.
Bonne nuit.
-cphil-
Ah, ben tu vois, là, on comprend mieux.
Pourtant, peut-être est-ce une lacune de ma part, j'avoue que ce tu dis
là m'évoque des souvenirs bien plus précis sous Access que sous VB6.
Pourrais-tu rappeler le nom de la propriété du TextBox qui impose la
saisie avant d'avoir quitté le formulaire ?
_______________
cphil a écrit :
Rebonjour/soir,
Je reprends le fil suite à un petit diner entre amis.
Exemple:
avec un contrôle TextBox ou autre ayant une condition de
renseignement ou de sélection avec message d'information, comment
éviter l'exécution de cette condition si le contrôle ayant le focus n'est
pas renseigné( c'est à dire vide dans mon langage d'apprenti programmeur )
lorsque l'on quitte le UserForm
Pas simple à expliquer, j'espère avoir été plus clair, merci pour votre
patience
et votre diligence.
Pourtant, peut-être est-ce une lacune de ma part, j'avoue que ce tu dis là m'évoque des souvenirs bien plus précis sous Access que sous VB6.
Pourrais-tu rappeler le nom de la propriété du TextBox qui impose la saisie avant d'avoir quitté le formulaire ? _______________ cphil a écrit :
Rebonjour/soir,
Je reprends le fil suite à un petit diner entre amis. Exemple: avec un contrôle TextBox ou autre ayant une condition de renseignement ou de sélection avec message d'information, comment éviter l'exécution de cette condition si le contrôle ayant le focus n'est pas renseigné( c'est à dire vide dans mon langage d'apprenti programmeur ) lorsque l'on quitte le UserForm Pas simple à expliquer, j'espère avoir été plus clair, merci pour votre patience et votre diligence.
Bonne nuit.
-cphil-
cphil
Bonjour,
Désolé pour mon imprécision., c'est sous Exel d'Office XP. Le code: Private Sub TextBox_Exit(ByVal Cancel As MSForms.ReturnBoolean) If TextBox = "" Then MsgBox "bla bla bla" Cancel = True End If End Sub
- Lorsque je quitte la UserForm (en laissant le TextBox vide), celle-ci disparaît et bien sur la MsgBox s'affiche et attends son petit click. Si je veux quitter la UserForm sans renseigner le TextBox, comment interdire l'affichage du MsgBox ?
Merci,A+.
P.S. -Celà peut paraître ilogique, mais impossible n'est pas VBA! ------------- "gloops" a écrit dans le message de news:
Ah, ben tu vois, là, on comprend mieux.
Pourtant, peut-être est-ce une lacune de ma part, j'avoue que ce tu dis là m'évoque des souvenirs bien plus précis sous Access que sous VB6.
Pourrais-tu rappeler le nom de la propriété du TextBox qui impose la saisie avant d'avoir quitté le formulaire ?
Bonjour,
Désolé pour mon imprécision., c'est sous Exel d'Office XP.
Le code:
Private Sub TextBox_Exit(ByVal Cancel As MSForms.ReturnBoolean)
If TextBox = "" Then
MsgBox "bla bla bla"
Cancel = True
End If
End Sub
- Lorsque je quitte la UserForm (en laissant le TextBox vide),
celle-ci disparaît et bien sur la MsgBox s'affiche et attends son petit
click.
Si je veux quitter la UserForm sans renseigner le TextBox, comment
interdire l'affichage du MsgBox ?
Merci,A+.
P.S. -Celà peut paraître ilogique, mais impossible n'est pas VBA!
-------------
"gloops" <gloops@niark.fr> a écrit dans le message de
news:ukA5zG2xDHA.1760@TK2MSFTNGP10.phx.gbl...
Ah, ben tu vois, là, on comprend mieux.
Pourtant, peut-être est-ce une lacune de ma part, j'avoue que ce tu dis
là m'évoque des souvenirs bien plus précis sous Access que sous VB6.
Pourrais-tu rappeler le nom de la propriété du TextBox qui impose la
saisie avant d'avoir quitté le formulaire ?
Désolé pour mon imprécision., c'est sous Exel d'Office XP. Le code: Private Sub TextBox_Exit(ByVal Cancel As MSForms.ReturnBoolean) If TextBox = "" Then MsgBox "bla bla bla" Cancel = True End If End Sub
- Lorsque je quitte la UserForm (en laissant le TextBox vide), celle-ci disparaît et bien sur la MsgBox s'affiche et attends son petit click. Si je veux quitter la UserForm sans renseigner le TextBox, comment interdire l'affichage du MsgBox ?
Merci,A+.
P.S. -Celà peut paraître ilogique, mais impossible n'est pas VBA! ------------- "gloops" a écrit dans le message de news:
Ah, ben tu vois, là, on comprend mieux.
Pourtant, peut-être est-ce une lacune de ma part, j'avoue que ce tu dis là m'évoque des souvenirs bien plus précis sous Access que sous VB6.
Pourrais-tu rappeler le nom de la propriété du TextBox qui impose la saisie avant d'avoir quitté le formulaire ?
François Picalausa
"cphil" <cazenave.(suffitspam) a écrit dans le message de news:%
Bonjour,
Désolé pour mon imprécision., c'est sous Exel d'Office XP. Le code: Private Sub TextBox_Exit(ByVal Cancel As MSForms.ReturnBoolean) If TextBox = "" Then MsgBox "bla bla bla" Cancel = True End If End Sub
- Lorsque je quitte la UserForm (en laissant le TextBox vide), celle-ci disparaît et bien sur la MsgBox s'affiche et attends son petit click. Si je veux quitter la UserForm sans renseigner le TextBox, comment interdire l'affichage du MsgBox ?
Bonjour/soir,
là, c'est on ne peut plus clair :-)
Essaye ceci: Private Quit As Boolean
Private Sub TextBox1_Exit(ByVal Cancel As MSForms.ReturnBoolean) If Not Quit And TextBox1.Text = "" Then MsgBox "bla..." Cancel = True End If End Sub
Private Sub UserForm_QueryClose(Cancel As Integer, CloseMode As Integer) Quit = True End Sub
Il faudrait ajouter un select case sur le close mode pour tester si on femre via la petite croix ou si c'est une fermeture forcée par le système, ...
Sinon, attention aux If TextBox = "" Then On se repose sur la propriété par défaut. -Celà n'est pas très lisible -Celà demande plus de temps à Excel -Dans certains langages ce n'est pas supporté (donc, difficultés de portage si besoin en est) -Si dans la version suivante de VBA la propriété par défaut change, la condition deviendra erronné. Enfin bref, spécifie toujours la propriété à laquelle tu veux accéder, c'est la meilleure chose à faire pour ne pas se tromper ;-)
"cphil" <cazenave.(suffitspam)philippe@free.fr> a écrit dans le message
de news:%23WE73t5xDHA.3416@tk2msftngp13.phx.gbl
Bonjour,
Désolé pour mon imprécision., c'est sous Exel d'Office XP.
Le code:
Private Sub TextBox_Exit(ByVal Cancel As MSForms.ReturnBoolean)
If TextBox = "" Then
MsgBox "bla bla bla"
Cancel = True
End If
End Sub
- Lorsque je quitte la UserForm (en laissant le TextBox vide),
celle-ci disparaît et bien sur la MsgBox s'affiche et attends son
petit click.
Si je veux quitter la UserForm sans renseigner le TextBox, comment
interdire l'affichage du MsgBox ?
Bonjour/soir,
là, c'est on ne peut plus clair :-)
Essaye ceci:
Private Quit As Boolean
Private Sub TextBox1_Exit(ByVal Cancel As MSForms.ReturnBoolean)
If Not Quit And TextBox1.Text = "" Then
MsgBox "bla..."
Cancel = True
End If
End Sub
Private Sub UserForm_QueryClose(Cancel As Integer, CloseMode As Integer)
Quit = True
End Sub
Il faudrait ajouter un select case sur le close mode pour tester si on femre
via la petite croix ou si c'est une fermeture forcée par le système, ...
Sinon, attention aux If TextBox = "" Then
On se repose sur la propriété par défaut.
-Celà n'est pas très lisible
-Celà demande plus de temps à Excel
-Dans certains langages ce n'est pas supporté (donc, difficultés de portage
si besoin en est)
-Si dans la version suivante de VBA la propriété par défaut change, la
condition deviendra erronné.
Enfin bref, spécifie toujours la propriété à laquelle tu veux accéder, c'est
la meilleure chose à faire pour ne pas se tromper ;-)
"cphil" <cazenave.(suffitspam) a écrit dans le message de news:%
Bonjour,
Désolé pour mon imprécision., c'est sous Exel d'Office XP. Le code: Private Sub TextBox_Exit(ByVal Cancel As MSForms.ReturnBoolean) If TextBox = "" Then MsgBox "bla bla bla" Cancel = True End If End Sub
- Lorsque je quitte la UserForm (en laissant le TextBox vide), celle-ci disparaît et bien sur la MsgBox s'affiche et attends son petit click. Si je veux quitter la UserForm sans renseigner le TextBox, comment interdire l'affichage du MsgBox ?
Bonjour/soir,
là, c'est on ne peut plus clair :-)
Essaye ceci: Private Quit As Boolean
Private Sub TextBox1_Exit(ByVal Cancel As MSForms.ReturnBoolean) If Not Quit And TextBox1.Text = "" Then MsgBox "bla..." Cancel = True End If End Sub
Private Sub UserForm_QueryClose(Cancel As Integer, CloseMode As Integer) Quit = True End Sub
Il faudrait ajouter un select case sur le close mode pour tester si on femre via la petite croix ou si c'est une fermeture forcée par le système, ...
Sinon, attention aux If TextBox = "" Then On se repose sur la propriété par défaut. -Celà n'est pas très lisible -Celà demande plus de temps à Excel -Dans certains langages ce n'est pas supporté (donc, difficultés de portage si besoin en est) -Si dans la version suivante de VBA la propriété par défaut change, la condition deviendra erronné. Enfin bref, spécifie toujours la propriété à laquelle tu veux accéder, c'est la meilleure chose à faire pour ne pas se tromper ;-)
"cphil" <cazenave.(suffitspam) a écrit dans le message de news:%
Bonjour,
Désolé pour mon imprécision., c'est sous Exel d'Office XP. Le code: Private Sub TextBox_Exit(ByVal Cancel As MSForms.ReturnBoolean) If TextBox = "" Then MsgBox "bla bla bla" Cancel = True End If End Sub
- Lorsque je quitte la UserForm (en laissant le TextBox vide), celle-ci disparaît et bien sur la MsgBox s'affiche et attends son petit click. Si je veux quitter la UserForm sans renseigner le TextBox, comment interdire l'affichage du MsgBox ?
Hello,
tout devient limpide :-)
Voici une façon de faire:
Dim FORCE_QUIT As Boolean
Private Sub TextBox1_Exit(ByVal Cancel As MSForms.ReturnBoolean) ' on teste si on veut "forcer le passage" If FORCE_QUIT Then Exit Sub ' hop on s'en va sans avertissement End If ' sinon cas général If TextBox1.Text = "" Then ' penser à tester la propriété, pas le controle entier Cancel = False MsgBox "tutu" End If End Sub
Private Sub UserForm_QueryClose(Cancel As Integer, CloseMode As Integer) ' MsgBox "On passe dans cet evenement en premier" FORCE_QUIT = True ' on force la variable à TRUE End Sub
"cphil" <cazenave.(suffitspam)philippe@free.fr> a écrit dans le message de
news:%23WE73t5xDHA.3416@tk2msftngp13.phx.gbl...
Bonjour,
Désolé pour mon imprécision., c'est sous Exel d'Office XP.
Le code:
Private Sub TextBox_Exit(ByVal Cancel As MSForms.ReturnBoolean)
If TextBox = "" Then
MsgBox "bla bla bla"
Cancel = True
End If
End Sub
- Lorsque je quitte la UserForm (en laissant le TextBox vide),
celle-ci disparaît et bien sur la MsgBox s'affiche et attends son petit
click.
Si je veux quitter la UserForm sans renseigner le TextBox, comment
interdire l'affichage du MsgBox ?
Hello,
tout devient limpide :-)
Voici une façon de faire:
Dim FORCE_QUIT As Boolean
Private Sub TextBox1_Exit(ByVal Cancel As MSForms.ReturnBoolean)
' on teste si on veut "forcer le passage"
If FORCE_QUIT Then
Exit Sub ' hop on s'en va sans avertissement
End If
' sinon cas général
If TextBox1.Text = "" Then ' penser à tester la propriété, pas le
controle entier
Cancel = False
MsgBox "tutu"
End If
End Sub
Private Sub UserForm_QueryClose(Cancel As Integer, CloseMode As Integer)
' MsgBox "On passe dans cet evenement en premier"
FORCE_QUIT = True ' on force la variable à TRUE
End Sub
"cphil" <cazenave.(suffitspam) a écrit dans le message de news:%
Bonjour,
Désolé pour mon imprécision., c'est sous Exel d'Office XP. Le code: Private Sub TextBox_Exit(ByVal Cancel As MSForms.ReturnBoolean) If TextBox = "" Then MsgBox "bla bla bla" Cancel = True End If End Sub
- Lorsque je quitte la UserForm (en laissant le TextBox vide), celle-ci disparaît et bien sur la MsgBox s'affiche et attends son petit click. Si je veux quitter la UserForm sans renseigner le TextBox, comment interdire l'affichage du MsgBox ?
Hello,
tout devient limpide :-)
Voici une façon de faire:
Dim FORCE_QUIT As Boolean
Private Sub TextBox1_Exit(ByVal Cancel As MSForms.ReturnBoolean) ' on teste si on veut "forcer le passage" If FORCE_QUIT Then Exit Sub ' hop on s'en va sans avertissement End If ' sinon cas général If TextBox1.Text = "" Then ' penser à tester la propriété, pas le controle entier Cancel = False MsgBox "tutu" End If End Sub
Private Sub UserForm_QueryClose(Cancel As Integer, CloseMode As Integer) ' MsgBox "On passe dans cet evenement en premier" FORCE_QUIT = True ' on force la variable à TRUE End Sub
Jean-Marc
> Dim FORCE_QUIT As Boolean
Private Sub TextBox1_Exit(ByVal Cancel As MSForms.ReturnBoolean) ' on teste si on veut "forcer le passage" If FORCE_QUIT Then Exit Sub ' hop on s'en va sans avertissement End If ' sinon cas général If TextBox1.Text = "" Then ' penser à tester la propriété, pas le controle entier Cancel = False
==>> Il faut bien sur Cancel = False, comme dans le code original..
MsgBox "tutu" End If End Sub
> Dim FORCE_QUIT As Boolean
Private Sub TextBox1_Exit(ByVal Cancel As MSForms.ReturnBoolean)
' on teste si on veut "forcer le passage"
If FORCE_QUIT Then
Exit Sub ' hop on s'en va sans avertissement
End If
' sinon cas général
If TextBox1.Text = "" Then ' penser à tester la propriété, pas le
controle entier
Cancel = False
==>> Il faut bien sur Cancel = False, comme dans le code original..
Private Sub TextBox1_Exit(ByVal Cancel As MSForms.ReturnBoolean) ' on teste si on veut "forcer le passage" If FORCE_QUIT Then Exit Sub ' hop on s'en va sans avertissement End If ' sinon cas général If TextBox1.Text = "" Then ' penser à tester la propriété, pas le controle entier Cancel = False
==>> Il faut bien sur Cancel = False, comme dans le code original..
Il me faut un peu de temps pour assimiler et tester. A+ sur un autre fil.
-cphil- ----------------- "Jean-Marc" a écrit dans le message de news:3fe57778$0$301$
"cphil" <cazenave.(suffitspam) a écrit dans le message de news:% > Bonjour, > > Désolé pour mon imprécision., c'est sous Exel d'Office XP. > Le code: > Private Sub TextBox_Exit(ByVal Cancel As MSForms.ReturnBoolean) > If TextBox = "" Then > MsgBox "bla bla bla" > Cancel = True > End If > End Sub > > - Lorsque je quitte la UserForm (en laissant le TextBox vide), > celle-ci disparaît et bien sur la MsgBox s'affiche et attends son petit > click. > Si je veux quitter la UserForm sans renseigner le TextBox, comment > interdire l'affichage du MsgBox ?
Hello,
tout devient limpide :-)
Voici une façon de faire:
Dim FORCE_QUIT As Boolean
Private Sub TextBox1_Exit(ByVal Cancel As MSForms.ReturnBoolean) ' on teste si on veut "forcer le passage" If FORCE_QUIT Then Exit Sub ' hop on s'en va sans avertissement End If ' sinon cas général If TextBox1.Text = "" Then ' penser à tester la propriété, pas le controle entier Cancel = False MsgBox "tutu" End If End Sub
Private Sub UserForm_QueryClose(Cancel As Integer, CloseMode As Integer) ' MsgBox "On passe dans cet evenement en premier" FORCE_QUIT = True ' on force la variable à TRUE End Sub
Merci à vous pour vos solutions :-)
Il me faut un peu de temps pour assimiler et tester.
A+ sur un autre fil.
-cphil-
-----------------
"Jean-Marc" <nospamjean_marc_n2@yahoo.fr> a écrit dans le message de
news:3fe57778$0$301$ba620e4c@reader4.news.skynet.be...
"cphil" <cazenave.(suffitspam)philippe@free.fr> a écrit dans le message de
news:%23WE73t5xDHA.3416@tk2msftngp13.phx.gbl...
> Bonjour,
>
> Désolé pour mon imprécision., c'est sous Exel d'Office XP.
> Le code:
> Private Sub TextBox_Exit(ByVal Cancel As MSForms.ReturnBoolean)
> If TextBox = "" Then
> MsgBox "bla bla bla"
> Cancel = True
> End If
> End Sub
>
> - Lorsque je quitte la UserForm (en laissant le TextBox vide),
> celle-ci disparaît et bien sur la MsgBox s'affiche et attends son petit
> click.
> Si je veux quitter la UserForm sans renseigner le TextBox, comment
> interdire l'affichage du MsgBox ?
Hello,
tout devient limpide :-)
Voici une façon de faire:
Dim FORCE_QUIT As Boolean
Private Sub TextBox1_Exit(ByVal Cancel As MSForms.ReturnBoolean)
' on teste si on veut "forcer le passage"
If FORCE_QUIT Then
Exit Sub ' hop on s'en va sans avertissement
End If
' sinon cas général
If TextBox1.Text = "" Then ' penser à tester la propriété, pas le
controle entier
Cancel = False
MsgBox "tutu"
End If
End Sub
Private Sub UserForm_QueryClose(Cancel As Integer, CloseMode As Integer)
' MsgBox "On passe dans cet evenement en premier"
FORCE_QUIT = True ' on force la variable à TRUE
End Sub
Il me faut un peu de temps pour assimiler et tester. A+ sur un autre fil.
-cphil- ----------------- "Jean-Marc" a écrit dans le message de news:3fe57778$0$301$
"cphil" <cazenave.(suffitspam) a écrit dans le message de news:% > Bonjour, > > Désolé pour mon imprécision., c'est sous Exel d'Office XP. > Le code: > Private Sub TextBox_Exit(ByVal Cancel As MSForms.ReturnBoolean) > If TextBox = "" Then > MsgBox "bla bla bla" > Cancel = True > End If > End Sub > > - Lorsque je quitte la UserForm (en laissant le TextBox vide), > celle-ci disparaît et bien sur la MsgBox s'affiche et attends son petit > click. > Si je veux quitter la UserForm sans renseigner le TextBox, comment > interdire l'affichage du MsgBox ?
Hello,
tout devient limpide :-)
Voici une façon de faire:
Dim FORCE_QUIT As Boolean
Private Sub TextBox1_Exit(ByVal Cancel As MSForms.ReturnBoolean) ' on teste si on veut "forcer le passage" If FORCE_QUIT Then Exit Sub ' hop on s'en va sans avertissement End If ' sinon cas général If TextBox1.Text = "" Then ' penser à tester la propriété, pas le controle entier Cancel = False MsgBox "tutu" End If End Sub
Private Sub UserForm_QueryClose(Cancel As Integer, CloseMode As Integer) ' MsgBox "On passe dans cet evenement en premier" FORCE_QUIT = True ' on force la variable à TRUE End Sub