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
Application.EnableEvents= False
dans un UserForm ?
Car selon MSDN :
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
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) :
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
Partager