Bonjour à tous,

Je voulais juste savoir si quelqu'un pouvait répondre à une question qui, je pense, a déjà été posée quelques fois mais je ne trouve pas de réponse qui me satisfasse...

Comment utiliser
Code : Sélectionner tout - Visualiser dans une fenêtre à part
Application.EnableEvents= False
dans un UserForm ?

Car selon MSDN :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
Application.EnableEvents = False 
ActiveWorkbook.Save 
Application.EnableEvents = True
Permet de sauvegarder sans lancer l'événement WorkBook_BeforeSave... Or, quand je l'utilise dans un formulaire, il ne fonctionne jamais.

Sinon, j'ai vu également que l'on doit utiliser EnableEvents en début de chaque Sub avec

Code : Sélectionner tout - Visualiser dans une fenêtre à part
If Application.EnableEvents = False then Exit Sub
Mais je trouve ça super long quand on a plein de macros impactées et surtout un peu lourd comme façon de faire..

Pouvez-vous me dire pourquoi ceci ne fonctionne pas :

Un UserForm avec 1 TextBox, 1 CheckBox (cochée par défaut) et 1 CommandButton (qui écrit quelque chose dans la TextBox) :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
Private Sub TextBox1_Change()
MsgBox "Les Events sont activés si vous voyez ce message après avoir appuyé sur le bouton",vbInformation
End Sub
 
Private Sub CheckBox1_Change()
Application.EnableEvents = CheckBox1.Value 'Si on la coche, on autorise les Events, sinon on les désactive. 
End Sub
 
Private Sub CommandButton1_Click()
TextBox1.Value = Int(Rnd*10000)
End Sub
Merci d'avance

Quentin