Récupérer le "ListIndex" d'un ComboBox

  • Initiateur de la discussion Initiateur de la discussion Magic_Doctor
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

Magic_Doctor

XLDnaute Barbatruc
Bonjour,

Je me heurte à un probème qui pourtant devrait être simple à résoudre.
J'ai un ComboBox. Quand je choisis un de ses items, je voudrais récupérer sa position dans la liste du ComboBox.

J'ai écrit ceci :
VB:
Private Sub ComboDilutions_Change()

If ComboDilutions.ListIndex = 0 Then
blablabla
ElseIf ComboDilutions.ListIndex = 1 Then
chabada
ElseIf ComboDilutions.ListIndex = 2 Then
scoubidou
Else
laputaqueloparrio
End If

chxcombo = ComboDilutions.ListIndex   'chxcombo est une variable "Public" déclarée dans un module standard

End Sub
Où me suis-je encore bien planté ?

Merci d'avance pour tout commentaire.
 
Re : Récupérer le "ListIndex" d'un ComboBox

Bonjour Magic_Doctor, le forum.

Je ne vois pas d'erreur dans le code. En testant ton fonctionnement sur une Combobox standard, cela fonctionne.

Code:
Private Sub ComboBox1_Change()
With Me.ComboBox1
    If .ListIndex = 0 Then MsgBox "Premier"
    If .ListIndex = 1 Then MsgBox "Deuxième"
    If .ListIndex = 2 Then MsgBox "Troisième"
    c = .ListIndex: Debug.Print c
End With
End Sub

Le valeur ne se récupère pas, ou tu n'arrives pas à l'exploiter par la suite ?
 
Re : Récupérer le "ListIndex" d'un ComboBox

Ça ne marche toujours pas et le ComboBox, lui, fonctionne parfaitement.
Si je choisis le 1er item du ComboBox, la valeur gardée en mémoire (ChxcomboDilutions) et utilisée ailleurs est 0.
Si je choisis le 2ème item du ComboBox, la valeur gardée en mémoire (ChxcomboDilutions) et utilisée ailleurs est 1.
etc.
Pour vérifier, j'ai écrit en fin de procédure :
VB:
Private Sub ComboDilutions_Change()

If ComboDilutions.ListIndex = 0 Then
blablabla
ElseIf ComboDilutions.ListIndex = 1 Then
chabada
ElseIf ComboDilutions.ListIndex = 2 Then
scoubidou
Else
laputaqueloparrio
End If

chxcombo = ComboDilutions.ListIndex   'chxcombo est une variable "Public" déclarée dans un module standard
[I7] = chxcombo 'uniquement pour voir instantanément sur la feuille la position dans le ComboBox de l'item sélectionné
 
End Sub
Si je clique sur n'importe lequel des 3 1ers items, rien n'apparaît dans la cellule I7. En revanche, quand je choisis le dernier item (le 4ème), là apparaît enfin 3.
Pourquoi diable rien n'apparaît pour les 3 1ers items ?

Mais, merci pour ton intervention.
 
Re : Récupérer le "ListIndex" d'un ComboBox

Ce sont des procédures de mises en forme du style :
VB:
        If compt1 = 2 Then Range("B8").Borders(xlEdgeBottom).ColorIndex = xlAutomatic
        Range("11:25").EntireRow.Hidden = False 'montre "RECONSTITUTION"
        Modif_Tableaux_Reconstitution
        Range("25:33").EntireRow.Hidden = True 'occulte "DILUTIONS SERINGUE"
        Range("34:43").EntireRow.Hidden = True 'occulte "DILUTIONS FLACON"
        Range("44:60").EntireRow.Hidden = True 'occulte "MÉLANGE TOXINES"
        ActiveSheet.Shapes("Exergue1").Visible = True
        ActiveSheet.Shapes("Exergue2").Visible = IIf([C9] = 0, False, True)
        ActiveSheet.Shapes("Exergue3").Visible = False
        ActiveSheet.Shapes("Exergue4").Visible = False
        ActiveSheet.Shapes("Exergue5").Visible = False
 
Re : Récupérer le "ListIndex" d'un ComboBox

bonjour Magic-doctor,Thebenoit
ajout d'un test si sélection présente ou
essayer le code avec évènement click

Private Sub ComboDilutions_Change()

If ComboDilutions <> "" Then
If ComboDilutions.ListIndex = 0 Then
blablabla
ElseIf ComboDilutions.ListIndex = 1 Then
chabada
ElseIf ComboDilutions.ListIndex = 2 Then
scoubidou
Else
laputaqueloparrio
End If

chxcombo = ComboDilutions.ListIndex 'chxcombo est une variable "Public" déclarée dans un module standard
[I7] = chxcombo 'uniquement pour voir instantanément sur la feuille la position dans le ComboBox de l'item sélectionné
End If

End Sub
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Retour