ListIndex mis à jour dans Combobox

  • Initiateur de la discussion Initiateur de la discussion 2susy
  • 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 !

2

2susy

Guest
Bonjour à tous,

je souhaite savoir s'il est possible de mettre à jour une combobox suivant l'item sélectionné dans une listbox?

je pensais à ce type de code qui ne fonctionne malheureusement pas !
Code:
If UserForm1.ListBox1.ListIndex <> -1 Then
UserForm1.ComboSelect.ListIndex = UserForm1.ListBox1.ListIndex
End If

si l'un(e) d'entre vous avait une idée...
 

Pièces jointes

Re : ListIndex mis à jour dans Combobox

Bonjour,

le code n'est pas placé au bon endroit.
Il faut le mettre dans le code de la listbox (dans le code de l'userform):

Code:
Private Sub ListBox1_Click()
If ListBox1.ListIndex <> -1 Then ComboBox2.ListIndex = UserForm1.ListBox1.ListIndex
End Sub
 
Re : ListIndex mis à jour dans Combobox

Merci, effectivement en déplaçant le code c'est un peu mieux mais il y a un décalage entre ce qui s'affiche dans la combobox2 et l'item sélectionné. Y'at-il un moyen de contourner ce problème?
je joins à nouveau le fichier avec ce nouvel élément, on y est presque !
 

Pièces jointes

Re : ListIndex mis à jour dans Combobox

Oui en effet avec l'exemple que j'avais choisi ça fonctionne (classe A item 4) mais en choisissant classe B, ça ne fonctionne pas, il prend l'index et non pas la valeur. du coup je pensais un code du genre :
Code:
Dim i As Integer, j As Integer
UserForm1.ListBox1.Text = UserForm1.ListBox1.List(j)
For i = 0 To UserForm1.ComboBox2.ListCount - 1
If j = i Then
UserForm1.ComboBox2.ListIndex = i
End If
Next i

mais ça ne fonctionne pas...
merci en tout cas de t'intéresser à mon cas 😉
 
Re : ListIndex mis à jour dans Combobox

Re,

Oui en effet avec l'exemple que j'avais choisi ça fonctionne (classe A item 4) mais en choisissant classe B, ça ne fonctionne pas, il prend l'index et non pas la valeur
On tourne en rond. Je ne vois toujours pas ce que tu veux dire. Quelle valeure?
Si je sélectionne item4 dans la listbox1 (en ayant choisi classeA ou B), dans la combobox2 s'affiche bien "item4".
 
Re : ListIndex mis à jour dans Combobox

J'ai dû mal m'exprimer, désolée, ce que je veux dire c'est que si par exemple tu sélectionne Classe B item 8, la combo2 affiche item2, or je souhaite qu'il affiche la même valeur que celle sélectionnée dans la ListBox1 à savoir item8.

J'espère que c'est plus clair? merci encore,
 
Re : ListIndex mis à jour dans Combobox

Bonosir 2susy, skoobi 🙂

Si j'ai bien compris teste ceci :

Tout d'abord, supprime tout tes codes dans tous les modules. Puis copie ces codes dans le module de code du Userform (click droit sur le Userform et Code et coller)

Code:
Private Sub ComboBox1_Change()

Dim j As Long
ListBox1.Clear
ListBox1.ColumnCount = 2
ListBox1.ColumnWidths = "80;60"
ComboBox2.ListIndex = -1
For j = 2 To Sheets("Feuil1").Range("A" & Sheets("Feuil1").Cells.Rows.Count).End(xlUp).Row
    If ComboBox1.Text = Sheets("Feuil1").Range("B" & j).Value Then
       With UserForm1.ListBox1
           .AddItem Sheets("Feuil1").Range("A" & j)
           .List(.ListCount - 1, 1) = Sheets("Feuil1").Range("B" & j)
       End With
    End If
Next j

End Sub

Private Sub ListBox1_Click()
If ListBox1.ListIndex <> -1 Then ComboBox2 = ListBox1
End Sub

Private Sub UserForm_Initialize()

ComboBox2.Clear
With UserForm1.ComboBox1
   .AddItem "classe A"
   .AddItem "classe B"
   .AddItem "classe C"
End With
ComboBox2.ColumnCount = 2
ComboBox2.ColumnWidths = "80;60"
For i = 2 To Sheets("Feuil1").Range("A" & Cells.Rows.Count).End(xlUp).Row
    With UserForm1.ComboBox2
        .AddItem Sheets("Feuil1").Range("A" & i)
        .List(.ListCount - 1, 1) = Sheets("Feuil1").Range("B" & i)
    End With
Next i

End Sub
Et dans le module du ThisWorkbook copie/colle ceci :
Code:
Sub Workbook_Open()
UserForm1.Show
End Sub
A+
 
Dernière édition:
Re : ListIndex mis à jour dans Combobox

Merci bqtr ça fonctionne très bien ! et merci à skoobi d'avoir eu la patience de comprendre ma demande !
j'ai plus qu'à l'adapter à mon cas réel,
bonne journée,
 
- 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
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Réponses
4
Affichages
589
Réponses
1
Affichages
473
W
Retour