J'ai 3 combos sur une feuille.
J'ai du code derrière chaque combo qui prompte l'utilisateur pour entrer une
nouvelle valeur quand il a cliqué "Autre"
évènement déclenchant le code : j'ai essayé change et click... mais avec le
même résultat.
Problème :
J'ai parfois l'input box qui se manifeste deux fois au lieu d'une.
Autre problème : mon code doit renvoyer le nouvel item de liste dans le
combo : ça ne marche presque jamais : et c'est le presque qui tue !
Voici le code :
' gérer les "Autres" pour les listes déroulantes bénéficiaires
Private Sub cmbSelectFoncBenef_Click()
DerLigne = Sheets("AutresSources").Range("Liste_Fonction").Rows.Count
If cmbSelectFoncBenef.Value = "Autre…" Then
valeurNouvelle = InputBox("Autre... précisez...", "Quelle autre FONCTION ?")
Sheets("AutresSources").Range("Liste_Fonction").Cells(DerLigne, 1).Value =
valeurNouvelle
cmbSelectFoncBenef.Value = valeurNouvelle
End If
End Sub
Private Sub cmbSelectServBenef_Click()
DerLigne = Sheets("AutresSources").Range("Liste_Service").Rows.Count
If cmbSelectServBenef.Value = "Autre…" Then
valeurNouvelle = InputBox("Autre... précisez...", "Quelle autre SERVICE ?")
Sheets("AutresSources").Range("Liste_Service").Cells(DerLigne, 1).Value =
valeurNouvelle
cmbSelectServBenef.Value = valeurNouvelle
End If
End Sub
Private Sub cmbSelectPoleBenef_Click()
DerLigne = Sheets("AutresSources").Range("Liste_Pole").Rows.Count
If cmbSelectPoleBenef.Value = "Autre…" Then
valeurNouvelle = InputBox("Autre... précisez...", "Quelle autre POLE ?")
Sheets("AutresSources").Range("Liste_Pole").Cells(DerLigne, 1).Value =
valeurNouvelle
cmbSelectPoleBenef.Value = valeurNouvelle
End If
End Sub
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Daniel
Bonjour. Si ton classeur ne contient pas de données confidentielles, peux-tu le mettre sur www.cjoint.com ? Cordialement. Daniel "philippe" a écrit dans le message de news:
Bonjour,
J'ai 3 combos sur une feuille. J'ai du code derrière chaque combo qui prompte l'utilisateur pour entrer une nouvelle valeur quand il a cliqué "Autre" évènement déclenchant le code : j'ai essayé change et click... mais avec le même résultat.
Problème : J'ai parfois l'input box qui se manifeste deux fois au lieu d'une. Autre problème : mon code doit renvoyer le nouvel item de liste dans le combo : ça ne marche presque jamais : et c'est le presque qui tue !
Voici le code :
' gérer les "Autres" pour les listes déroulantes bénéficiaires Private Sub cmbSelectFoncBenef_Click() DerLigne = Sheets("AutresSources").Range("Liste_Fonction").Rows.Count If cmbSelectFoncBenef.Value = "Autre." Then valeurNouvelle = InputBox("Autre... précisez...", "Quelle autre FONCTION ?") Sheets("AutresSources").Range("Liste_Fonction").Cells(DerLigne, 1).Value > valeurNouvelle cmbSelectFoncBenef.Value = valeurNouvelle End If End Sub
Private Sub cmbSelectServBenef_Click() DerLigne = Sheets("AutresSources").Range("Liste_Service").Rows.Count If cmbSelectServBenef.Value = "Autre." Then valeurNouvelle = InputBox("Autre... précisez...", "Quelle autre SERVICE ?") Sheets("AutresSources").Range("Liste_Service").Cells(DerLigne, 1).Value > valeurNouvelle cmbSelectServBenef.Value = valeurNouvelle End If End Sub
Private Sub cmbSelectPoleBenef_Click() DerLigne = Sheets("AutresSources").Range("Liste_Pole").Rows.Count If cmbSelectPoleBenef.Value = "Autre." Then valeurNouvelle = InputBox("Autre... précisez...", "Quelle autre POLE ?") Sheets("AutresSources").Range("Liste_Pole").Cells(DerLigne, 1).Value > valeurNouvelle cmbSelectPoleBenef.Value = valeurNouvelle End If End Sub
Merci à tous, Phlippe
Bonjour.
Si ton classeur ne contient pas de données confidentielles, peux-tu le
mettre sur www.cjoint.com ?
Cordialement.
Daniel
"philippe" <philippe@discussions.microsoft.com> a écrit dans le message de
news: 4EA58740-F1D5-4DD7-92C2-E398700DE98E@microsoft.com...
Bonjour,
J'ai 3 combos sur une feuille.
J'ai du code derrière chaque combo qui prompte l'utilisateur pour entrer
une
nouvelle valeur quand il a cliqué "Autre"
évènement déclenchant le code : j'ai essayé change et click... mais avec
le
même résultat.
Problème :
J'ai parfois l'input box qui se manifeste deux fois au lieu d'une.
Autre problème : mon code doit renvoyer le nouvel item de liste dans le
combo : ça ne marche presque jamais : et c'est le presque qui tue !
Voici le code :
' gérer les "Autres" pour les listes déroulantes bénéficiaires
Private Sub cmbSelectFoncBenef_Click()
DerLigne = Sheets("AutresSources").Range("Liste_Fonction").Rows.Count
If cmbSelectFoncBenef.Value = "Autre." Then
valeurNouvelle = InputBox("Autre... précisez...", "Quelle autre FONCTION
?")
Sheets("AutresSources").Range("Liste_Fonction").Cells(DerLigne, 1).Value > valeurNouvelle
cmbSelectFoncBenef.Value = valeurNouvelle
End If
End Sub
Private Sub cmbSelectServBenef_Click()
DerLigne = Sheets("AutresSources").Range("Liste_Service").Rows.Count
If cmbSelectServBenef.Value = "Autre." Then
valeurNouvelle = InputBox("Autre... précisez...", "Quelle autre SERVICE
?")
Sheets("AutresSources").Range("Liste_Service").Cells(DerLigne, 1).Value > valeurNouvelle
cmbSelectServBenef.Value = valeurNouvelle
End If
End Sub
Private Sub cmbSelectPoleBenef_Click()
DerLigne = Sheets("AutresSources").Range("Liste_Pole").Rows.Count
If cmbSelectPoleBenef.Value = "Autre." Then
valeurNouvelle = InputBox("Autre... précisez...", "Quelle autre POLE ?")
Sheets("AutresSources").Range("Liste_Pole").Cells(DerLigne, 1).Value > valeurNouvelle
cmbSelectPoleBenef.Value = valeurNouvelle
End If
End Sub
Bonjour. Si ton classeur ne contient pas de données confidentielles, peux-tu le mettre sur www.cjoint.com ? Cordialement. Daniel "philippe" a écrit dans le message de news:
Bonjour,
J'ai 3 combos sur une feuille. J'ai du code derrière chaque combo qui prompte l'utilisateur pour entrer une nouvelle valeur quand il a cliqué "Autre" évènement déclenchant le code : j'ai essayé change et click... mais avec le même résultat.
Problème : J'ai parfois l'input box qui se manifeste deux fois au lieu d'une. Autre problème : mon code doit renvoyer le nouvel item de liste dans le combo : ça ne marche presque jamais : et c'est le presque qui tue !
Voici le code :
' gérer les "Autres" pour les listes déroulantes bénéficiaires Private Sub cmbSelectFoncBenef_Click() DerLigne = Sheets("AutresSources").Range("Liste_Fonction").Rows.Count If cmbSelectFoncBenef.Value = "Autre." Then valeurNouvelle = InputBox("Autre... précisez...", "Quelle autre FONCTION ?") Sheets("AutresSources").Range("Liste_Fonction").Cells(DerLigne, 1).Value > valeurNouvelle cmbSelectFoncBenef.Value = valeurNouvelle End If End Sub
Private Sub cmbSelectServBenef_Click() DerLigne = Sheets("AutresSources").Range("Liste_Service").Rows.Count If cmbSelectServBenef.Value = "Autre." Then valeurNouvelle = InputBox("Autre... précisez...", "Quelle autre SERVICE ?") Sheets("AutresSources").Range("Liste_Service").Cells(DerLigne, 1).Value > valeurNouvelle cmbSelectServBenef.Value = valeurNouvelle End If End Sub
Private Sub cmbSelectPoleBenef_Click() DerLigne = Sheets("AutresSources").Range("Liste_Pole").Rows.Count If cmbSelectPoleBenef.Value = "Autre." Then valeurNouvelle = InputBox("Autre... précisez...", "Quelle autre POLE ?") Sheets("AutresSources").Range("Liste_Pole").Cells(DerLigne, 1).Value > valeurNouvelle cmbSelectPoleBenef.Value = valeurNouvelle End If End Sub
Merci à tous, Phlippe
philippe
Merci Daniel.
J'ai "trouvé" la solution... mais je ne comprends pas pourquoi. J'ai inversé l'ordre des propostions a) et b) et maintenant ça marche (a) Sheets("AutresSources").Range("Liste_Service").Cells(DerLigne, 1).Value = valeurNouvelle (b) cmbSelectServBenef.Value = valeurNouvelle
Mais je ne comprends pas. avec (a) : je rajoute la nouvelle valeur dans la source du combo : une range de cellules avec (b) : j'alloue au combo cette nouvelle valeur
On dirait que l'élément click ou change arrive une deuxième fois après l'exécution de la ligne (a). Et comme dans mon ordre original, le combo a toujours "autre" comme valeur, il me ressert l'input box.
Intéressant non ?
Bonjour. Si ton classeur ne contient pas de données confidentielles, peux-tu le mettre sur www.cjoint.com ? Cordialement. Daniel "philippe" a écrit dans le message de news:
Bonjour,
J'ai 3 combos sur une feuille. J'ai du code derrière chaque combo qui prompte l'utilisateur pour entrer une nouvelle valeur quand il a cliqué "Autre" évènement déclenchant le code : j'ai essayé change et click... mais avec le même résultat.
Problème : J'ai parfois l'input box qui se manifeste deux fois au lieu d'une. Autre problème : mon code doit renvoyer le nouvel item de liste dans le combo : ça ne marche presque jamais : et c'est le presque qui tue !
Voici le code :
' gérer les "Autres" pour les listes déroulantes bénéficiaires Private Sub cmbSelectFoncBenef_Click() DerLigne = Sheets("AutresSources").Range("Liste_Fonction").Rows.Count If cmbSelectFoncBenef.Value = "Autre." Then valeurNouvelle = InputBox("Autre... précisez...", "Quelle autre FONCTION ?") Sheets("AutresSources").Range("Liste_Fonction").Cells(DerLigne, 1).Value > > valeurNouvelle cmbSelectFoncBenef.Value = valeurNouvelle End If End Sub
Private Sub cmbSelectServBenef_Click() DerLigne = Sheets("AutresSources").Range("Liste_Service").Rows.Count If cmbSelectServBenef.Value = "Autre." Then valeurNouvelle = InputBox("Autre... précisez...", "Quelle autre SERVICE ?") Sheets("AutresSources").Range("Liste_Service").Cells(DerLigne, 1).Value > > valeurNouvelle cmbSelectServBenef.Value = valeurNouvelle End If End Sub
Private Sub cmbSelectPoleBenef_Click() DerLigne = Sheets("AutresSources").Range("Liste_Pole").Rows.Count If cmbSelectPoleBenef.Value = "Autre." Then valeurNouvelle = InputBox("Autre... précisez...", "Quelle autre POLE ?") Sheets("AutresSources").Range("Liste_Pole").Cells(DerLigne, 1).Value > > valeurNouvelle cmbSelectPoleBenef.Value = valeurNouvelle End If End Sub
Merci à tous, Phlippe
Merci Daniel.
J'ai "trouvé" la solution... mais je ne comprends pas pourquoi.
J'ai inversé l'ordre des propostions a) et b) et maintenant ça marche
(a) Sheets("AutresSources").Range("Liste_Service").Cells(DerLigne, 1).Value
= valeurNouvelle
(b) cmbSelectServBenef.Value = valeurNouvelle
Mais je ne comprends pas.
avec (a) : je rajoute la nouvelle valeur dans la source du combo : une range
de cellules
avec (b) : j'alloue au combo cette nouvelle valeur
On dirait que l'élément click ou change arrive une deuxième fois après
l'exécution de la ligne (a). Et comme dans mon ordre original, le combo a
toujours "autre" comme valeur, il me ressert l'input box.
Intéressant non ?
Bonjour.
Si ton classeur ne contient pas de données confidentielles, peux-tu le
mettre sur www.cjoint.com ?
Cordialement.
Daniel
"philippe" <philippe@discussions.microsoft.com> a écrit dans le message de
news: 4EA58740-F1D5-4DD7-92C2-E398700DE98E@microsoft.com...
Bonjour,
J'ai 3 combos sur une feuille.
J'ai du code derrière chaque combo qui prompte l'utilisateur pour entrer
une
nouvelle valeur quand il a cliqué "Autre"
évènement déclenchant le code : j'ai essayé change et click... mais avec
le
même résultat.
Problème :
J'ai parfois l'input box qui se manifeste deux fois au lieu d'une.
Autre problème : mon code doit renvoyer le nouvel item de liste dans le
combo : ça ne marche presque jamais : et c'est le presque qui tue !
Voici le code :
' gérer les "Autres" pour les listes déroulantes bénéficiaires
Private Sub cmbSelectFoncBenef_Click()
DerLigne = Sheets("AutresSources").Range("Liste_Fonction").Rows.Count
If cmbSelectFoncBenef.Value = "Autre." Then
valeurNouvelle = InputBox("Autre... précisez...", "Quelle autre FONCTION
?")
Sheets("AutresSources").Range("Liste_Fonction").Cells(DerLigne, 1).Value > > valeurNouvelle
cmbSelectFoncBenef.Value = valeurNouvelle
End If
End Sub
Private Sub cmbSelectServBenef_Click()
DerLigne = Sheets("AutresSources").Range("Liste_Service").Rows.Count
If cmbSelectServBenef.Value = "Autre." Then
valeurNouvelle = InputBox("Autre... précisez...", "Quelle autre SERVICE
?")
Sheets("AutresSources").Range("Liste_Service").Cells(DerLigne, 1).Value > > valeurNouvelle
cmbSelectServBenef.Value = valeurNouvelle
End If
End Sub
Private Sub cmbSelectPoleBenef_Click()
DerLigne = Sheets("AutresSources").Range("Liste_Pole").Rows.Count
If cmbSelectPoleBenef.Value = "Autre." Then
valeurNouvelle = InputBox("Autre... précisez...", "Quelle autre POLE ?")
Sheets("AutresSources").Range("Liste_Pole").Cells(DerLigne, 1).Value > > valeurNouvelle
cmbSelectPoleBenef.Value = valeurNouvelle
End If
End Sub
J'ai "trouvé" la solution... mais je ne comprends pas pourquoi. J'ai inversé l'ordre des propostions a) et b) et maintenant ça marche (a) Sheets("AutresSources").Range("Liste_Service").Cells(DerLigne, 1).Value = valeurNouvelle (b) cmbSelectServBenef.Value = valeurNouvelle
Mais je ne comprends pas. avec (a) : je rajoute la nouvelle valeur dans la source du combo : une range de cellules avec (b) : j'alloue au combo cette nouvelle valeur
On dirait que l'élément click ou change arrive une deuxième fois après l'exécution de la ligne (a). Et comme dans mon ordre original, le combo a toujours "autre" comme valeur, il me ressert l'input box.
Intéressant non ?
Bonjour. Si ton classeur ne contient pas de données confidentielles, peux-tu le mettre sur www.cjoint.com ? Cordialement. Daniel "philippe" a écrit dans le message de news:
Bonjour,
J'ai 3 combos sur une feuille. J'ai du code derrière chaque combo qui prompte l'utilisateur pour entrer une nouvelle valeur quand il a cliqué "Autre" évènement déclenchant le code : j'ai essayé change et click... mais avec le même résultat.
Problème : J'ai parfois l'input box qui se manifeste deux fois au lieu d'une. Autre problème : mon code doit renvoyer le nouvel item de liste dans le combo : ça ne marche presque jamais : et c'est le presque qui tue !
Voici le code :
' gérer les "Autres" pour les listes déroulantes bénéficiaires Private Sub cmbSelectFoncBenef_Click() DerLigne = Sheets("AutresSources").Range("Liste_Fonction").Rows.Count If cmbSelectFoncBenef.Value = "Autre." Then valeurNouvelle = InputBox("Autre... précisez...", "Quelle autre FONCTION ?") Sheets("AutresSources").Range("Liste_Fonction").Cells(DerLigne, 1).Value > > valeurNouvelle cmbSelectFoncBenef.Value = valeurNouvelle End If End Sub
Private Sub cmbSelectServBenef_Click() DerLigne = Sheets("AutresSources").Range("Liste_Service").Rows.Count If cmbSelectServBenef.Value = "Autre." Then valeurNouvelle = InputBox("Autre... précisez...", "Quelle autre SERVICE ?") Sheets("AutresSources").Range("Liste_Service").Cells(DerLigne, 1).Value > > valeurNouvelle cmbSelectServBenef.Value = valeurNouvelle End If End Sub
Private Sub cmbSelectPoleBenef_Click() DerLigne = Sheets("AutresSources").Range("Liste_Pole").Rows.Count If cmbSelectPoleBenef.Value = "Autre." Then valeurNouvelle = InputBox("Autre... précisez...", "Quelle autre POLE ?") Sheets("AutresSources").Range("Liste_Pole").Cells(DerLigne, 1).Value > > valeurNouvelle cmbSelectPoleBenef.Value = valeurNouvelle End If End Sub