Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

XL 2019 VBA remplir une combobox sous condition

donpopo

XLDnaute Occasionnel
Bonjour le forum,

Pour le moment, j'ai une procédure qui me remplit ma combobox.

VB:
'----------------------------------------------
'Valorisation de la ComboBox avec deux colonnes
'----------------------------------------------
Private Sub SetComboBox()
    Set f = Sheets("Locataires")
    Set Rng = f.Range("A5:B" & f.[A65000].End(xlUp).Row)
    Me.ComboBox1.ColumnCount = 2
    Me.ComboBox1.ColumnWidths = "90;50"
    Me.ComboBox1.List = Rng.Value
End Sub

Mais je souhaiterais que n'apparaissent pas dans cette liste certains 'locataires' si sur cette feuille "Locataires", la colonne 'S' n'est pas vide.

Me suis-je bien fait comprendre?

Merci pour vos conseils,
Donpopo
 
Solution
Bonjour,
Une solution :
VB:
Private Sub SetComboBox()
Dim Arr, i, f
Set f = Sheets("Locataires")
Arr = f.Range("A5:S" & f.[A65000].End(xlUp).Row).Value
    Me.ComboBox1.ColumnCount = 2
    Me.ComboBox1.ColumnWidths = "90;50"
For i = 1 To UBound(Arr)
   If Arr(i, 19) <> "" Then
      ComboBox1.AddItem Arr(i, 1)
      ComboBox1.List(ComboBox1.ListCount - 1, 1) = Arr(i, 2)
   End If
Next i
End Sub
A+

bof

XLDnaute Occasionnel
Bonjour,
Une solution :
VB:
Private Sub SetComboBox()
Dim Arr, i, f
Set f = Sheets("Locataires")
Arr = f.Range("A5:S" & f.[A65000].End(xlUp).Row).Value
    Me.ComboBox1.ColumnCount = 2
    Me.ComboBox1.ColumnWidths = "90;50"
For i = 1 To UBound(Arr)
   If Arr(i, 19) <> "" Then
      ComboBox1.AddItem Arr(i, 1)
      ComboBox1.List(ComboBox1.ListCount - 1, 1) = Arr(i, 2)
   End If
Next i
End Sub
A+
 

Discussions similaires

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…