Petit souci avec un combobox

Le
ThierryP
Bonjour le forum,

Avec cett petite proc, j'alimente une cellule :

Private Sub Choix_Soupape_Click()
Application.EnableEvents = False
Range("ChoixSoupape") = Me.Choix_Soupape.Text
Me.Choix_Soupape.Text = ""
'Me.Choix_Soupape.Activate
'Me.Choix_Soupape.DropDown
Application.EnableEvents = True
End Sub

Le souci, c'est que la ligne
Me.Choix_Soupape.Text = ""
active l'évènement Change du combo. ce que je ne veux pas !

Comment peut-on intercepter cet évènement ???

Merci d'avance pour toute piste ou suggestion !!!

ThierryP
  • Partager ce contenu :
Vos réponses
Trier par : date / pertinence
MichD
Le #26558668
Bonjour,
"Choix_Soupape"
Quel est le type de ce contrÍ´le?
Comment procèdes-tu pour remplir la liste du contrÍ´le?
MichD
MichD
Le #26558677
Le 05/11/20 Í  12:01, MichD a écrit :
Bonjour,
"Choix_Soupape"
Quel est le type de ce contrÍ´le?
Comment procèdes-tu pour remplir la liste du contrÍ´le?
MichD


Juste pour que ce soit un peut plus clair, lorsque tu utilises un
combobox, Í  chaque fois que tu cliques sur un item de la liste
déroulante du combobox, l'événement "Choix_Soupape_Change" s'exécute en
premier suivi de l'événement "Choix_Soupape_Click" en supposant que tu
as défini ces 2 événements du combobox.
Par conséquent, lorsque tu cliques sur un item de la liste du combobox
la procédure événementielle "Change" s'exécute une première fois suivi
de la procédure "Click". Ce que le code suivant fait, il empêche que la
procédure de l'événement "Change" se produise une deuxième fois suite Í 
cette ligne de code Me.Choix_Soupape.Text = ""
Voici procéder...
Déclaration de la variable dans le haut du classeur
Dim Ok As Boolean
'--------------------------------------------------------
Private Sub Choix_Soupape_Change()
If Ok = True Then
Ok = True
Else
'Remplace cette ligne de code par ta procédure
'de cet événement
MsgBox "bonjour"
Ok = False
End If
End Sub
'--------------------------------------------------------
Private Sub Choix_Soupape_Click()
Application.EnableEvents = False
Ok = True
Range("ChoixSoupape") = Me.Choix_Soupape.Text
Me.Choix_Soupape.Text = ""
Ok = False
Application.EnableEvents = True
End Sub
'--------------------------------------------------------
MichD
ThierryP
Le #26558714
Bonjour Denis,
Il me semblait bien avoir déjÍ  lu quelque part la solution que tu me proposes (peut-être un post Í  toi d'ailleurs !!)... mais impossible de m'en souvenir !
Merci pour ta réponse aussi rapide qu'efficace !
ThierryP
Poster une réponse
Anonyme