Excel - vba - Bouton Cancel - Comment annuler les évènements dans le UserForm.

Signaler
Messages postés
4
Date d'inscription
vendredi 4 juin 2004
Statut
Membre
Dernière intervention
29 août 2005
-
Messages postés
936
Date d'inscription
lundi 19 janvier 2004
Statut
Membre
Dernière intervention
17 mars 2017
-
J'ai un problème avec les boîtes de dialogues en excel.
Quand je clique sur le bouton Cancel, les évènements des TextBox s'exécute.
Comment annuler ces évènements et quitter le UserForm ?

Merci de me sauver de ce foutu problème.

Michel

6 réponses

Messages postés
76
Date d'inscription
mardi 11 février 2003
Statut
Membre
Dernière intervention
8 septembre 2006

Bonjour,

Quels évènements s'exécutent???
Messages postés
4
Date d'inscription
vendredi 4 juin 2004
Statut
Membre
Dernière intervention
29 août 2005

Évènements BeforeUpdate, AfterUpdate et Exit
principalement d'un TextBox

Je dois annuler ces évènements quand je clique sur le bouton Annuler

Merci
Messages postés
936
Date d'inscription
lundi 19 janvier 2004
Statut
Membre
Dernière intervention
17 mars 2017
4
Salut,
Voila une des solutions
Dim ExitWithoutChange As Boolean


Private Sub CommandButton1_Click()
' On suppose quer c'est ton bouton Cancel
ExitWithoutChange = True
Unload Me
End Sub


Private Sub TextBox1_AfterUpdate()
If ExitWithoutChange = True Then Exit Sub
'ici ton code


End Sub


Private Sub TextBox1_BeforeUpdate(ByVal Cancel As MSForms.ReturnBoolean)
If ExitWithoutChange = True Then Exit Sub


'ici ton code
End Sub

Cordialement, Jean-Paul
______________________________________________________________________

Le Savoir n'a de valeur que s'il est partagé
Messages postés
22
Date d'inscription
lundi 20 novembre 2000
Statut
Membre
Dernière intervention
17 mai 2010

Salut,

Je en sais passi j'ai bien compris ton problème mais tu peux essayer cela :

Private Sub Cancel_Click()
Userform.hide
End Sub

Avec Userform, le nom de ta form
Avec Cancel, le nom de ton bouton annuler

Dans les propriétés de ton bouton "Cancel", mets la propriété "Cancel" à True.

J'espère avoir pu t'aider

++
Pierrick
Messages postés
4
Date d'inscription
vendredi 4 juin 2004
Statut
Membre
Dernière intervention
29 août 2005

Merci pour votre aide,

Ces solutions ne fonctionnent pas à 100%

voici le cas où il y a un problème

quand j'entre un text dans le textbox et que je presse le bouton cancel,
les évènements BeforeUpdate, AfterUpdate et Exit s'exécute quand même.
je croyais que mettre la propriété "cancel" du bouton "Cancel" à true sauterait par dessus ces évènements, mais ce n'est pas le cas.
Il y a certainement quelque chose qui m'échappe, mais quoi. (librairie ou macro complémentaire ou ???)
je suis désespéré parfois de ce que Microsoft produit.

J'apprécie beaucoup votre aide à ce sujet.

Michel
Messages postés
936
Date d'inscription
lundi 19 janvier 2004
Statut
Membre
Dernière intervention
17 mars 2017
4
Re,
C'est à dire pas à 100%
Mis à part le fait que tu dois aussi mettre la condition dans les autres sub du genre exit ce code doit tourner ......
une autre façon serais de sauvegarder ton ancienne valeur et de la restituer si le bouton Cancel est cliqué; bien des solutions tout dépand ce que tu recherches.
Quand à la réflexion sur microsoft : Faut bien qu'il nous laisse un peu de travail pour passer de bonnes soirées ;o)

Cordialement, Jean-Paul
______________________________________________________________________

Le Savoir n'a de valeur que s'il est partagé