XL 2021 exclure certaines lignes d'un combobox

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 !

Claudinedu13

XLDnaute Junior
je voudrais alimenter mes combobox (5) uniquement avec les valeurs dont la catégorie (colonne 3) ne contient pas "Référence" ?
@patricktoulon tu m'avais donné un code à mettre sur une listbox que j'ai essayé d'adapter pour mes combobox mais je n'y arrive pas, je sais que ça doit être simple pour vous tous mais moi je galère. Merci

voilà mon code qui affiche mes combobox


VB:
Sub comboref()
Dim i
Dim f
Dim Rng
Set f = Sheets("Feuil1")
Set Rng = f.Range("B2:D" & f.[B600].End(xlUp).Row + 1)
  For i = 1 To 5
    Me.Controls("ComboBoxAb" & i).List = Application.Index(Rng, Evaluate("Row(1:" & Rng.Rows.Count & ")"), Array(1, 2, 3))
    Me.Controls("ComboBoxAb" & i).RemoveItem Me.Controls("ComboBoxAb" & i).ListCount - 1
    Me.Controls("ComboBoxAb" & i).ColumnCount = 3
    Me.Controls("ComboBoxAb" & i).ColumnWidths = "40;180;110"
  Next i
End Sub
 

Pièces jointes

  • Classeur1.xlsm
    Classeur1.xlsm
    39.7 KB · Affichages: 4
  • comboboxsansreference.jpg
    comboboxsansreference.jpg
    72.8 KB · Affichages: 7
Solution
re
bonsoir Germaine
tu n'est pas obligé de bricoler avec index
des fois il faut rester simple

les lignes avec "Référence" n'y seront pas

j'ai transformé ton tableau en tableau structuré
et donc supprimé les lignes vides dans la feuille
elles s'ajoute toute seule si tu ajoute des données
VB:
Sub comboref()
    Dim i&, t, t2()
    t = Range("Tableau1")
    For i = 1 To UBound(t)
        If LCase(t(i, 4)) <> "référence" Then
            a = a + 1: ReDim Preserve t2(1 To 3, 1 To a): t2(1, a) = t(i, 2): t2(2, a) = t(i, 3): t2(3, a) = t(i, 4)
        End If
    Next
    For i = 1 To 5
        Me.Controls("ComboBoxAb" & i).ColumnCount = 3
        Me.Controls("ComboBoxAb" & i).Column = t2
        Me.Controls("ComboBoxAb" & i).ColumnWidths...
re
bonsoir Germaine
tu n'est pas obligé de bricoler avec index
des fois il faut rester simple

les lignes avec "Référence" n'y seront pas

j'ai transformé ton tableau en tableau structuré
et donc supprimé les lignes vides dans la feuille
elles s'ajoute toute seule si tu ajoute des données
VB:
Sub comboref()
    Dim i&, t, t2()
    t = Range("Tableau1")
    For i = 1 To UBound(t)
        If LCase(t(i, 4)) <> "référence" Then
            a = a + 1: ReDim Preserve t2(1 To 3, 1 To a): t2(1, a) = t(i, 2): t2(2, a) = t(i, 3): t2(3, a) = t(i, 4)
        End If
    Next
    For i = 1 To 5
        Me.Controls("ComboBoxAb" & i).ColumnCount = 3
        Me.Controls("ComboBoxAb" & i).Column = t2
        Me.Controls("ComboBoxAb" & i).ColumnWidths = "40;180;110"
    Next i
End Sub
 

Pièces jointes

re
bonsoir Germaine
tu n'est pas obligé de bricoler avec index
des fois il faut rester simple

les lignes avec "Référence" n'y seront pas

j'ai transformé ton tableau en tableau structuré
et donc supprimé les lignes vides dans la feuille
elles s'ajoute toute seule si tu ajoute des données
VB:
Sub comboref()
    Dim i&, t, t2()
    t = Range("Tableau1")
    For i = 1 To UBound(t)
        If LCase(t(i, 4)) <> "référence" Then
            a = a + 1: ReDim Preserve t2(1 To 3, 1 To a): t2(1, a) = t(i, 2): t2(2, a) = t(i, 3): t2(3, a) = t(i, 4)
        End If
    Next
    For i = 1 To 5
        Me.Controls("ComboBoxAb" & i).ColumnCount = 3
        Me.Controls("ComboBoxAb" & i).Column = t2
        Me.Controls("ComboBoxAb" & i).ColumnWidths = "40;180;110"
    Next i
End Sub
Coucou Raymond ,
Dans le mille pour le prénom , germaine c'est mon deuxième prénom 🤣
Comme tu dis , c'est du bricolage que je fais , merci de m'apporter ton aide , ce qui me permet d'apprendre beaucoup de choses
@ +
👍
 
- 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

Réponses
3
Affichages
463
Réponses
1
Affichages
669
Réponses
3
Affichages
760
Retour