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 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
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
'--------------------------------------------------------
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
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
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 !
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