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

Ignorer cellule vide dans combobox

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

S

sn00py

Guest
Bonsoir,

Est-il possible de ne pas lister de lignes vides dans une combo qui fait référence à une plage de données qui contient des cellules vides ?

Merci beaucoup !

sn00py
 
Re : Ignorer cellule vide dans combobox

Bonsoir PierreJean,

Cela ne fonctionne pas, les lignes vides sont toujours listées. Il n'y a pas d'erreur affichée.
Voici le code :

Private Sub UserForm_Initialize()
Dim Rubrique As String

With Sheets("ID")
Rubrique = .Range("A2:B" & .Range("B65536").End(xlUp).Row).Address
End With

For Each cel In Range("A2:A65536")
If cel.Value <> "" Then Me.ComboBox1.AddItem cel.Value
Next cel


With Me.ComboBox1
.ColumnCount = 2
.ColumnWidths = "100;0"
.RowSource = "ID!" & Rubrique
End With

End Sub

Private Sub ComboBox1_Change()
Me.TextBox1 = Me.ComboBox1.Column(1, Me.ComboBox1.ListIndex)
End Sub

Merci en tout cas !
 
Re : Ignorer cellule vide dans combobox

Bonsoir sn00py, pierrejean

Essaye ceci :

Code:
Private Sub UserForm_Initialize()
Dim cell As Range

With ComboBox1
  .ColumnCount = 2
  .ColumnWidths = "100,0"
End With

With Sheets("ID")
  For Each cell In .Range("A2:A" & .Range("A65536").End(xlUp).Row)
     If cell <> "" Then
        ComboBox1.AddItem cell
        ComboBox1.List(ComboBox1.ListCount - 1, 1) = cell.Offset(0, 1)
     End If
  Next
End With

End Sub
Private Sub ComboBox1_Change()
Me.TextBox1 = Me.ComboBox1.Column(1, Me.ComboBox1.ListIndex)
End Sub

Bonne soirée
 
Re : Ignorer cellule vide dans combobox

re

je pense que le code de Pierre Olivier fonctionne ( il reprend d'ailleurs le mien en le completant )

quant au mien il a surement fonctionné jusqu'a ce qu'il soit modifié par :

With Me.ComboBox1
.ColumnCount = 2
.ColumnWidths = "100;0"
.RowSource = "ID!" & Rubrique
End With
 
Re : Ignorer cellule vide dans combobox

Bonjour PierreJean, bonjour Pierre Olivier,

Merci pour votre aide, le code fonctionne parfaitement.
Désolé PierreJean, j'ai dû modifier ton code sans m'en rendre ce qui a planté le tien.

sn00py
 
Re : Ignorer cellule vide dans combobox

Re,

Une autre question toujours avec le même fichier, comment faire pour trier par ordre alphabétique le contenu de la combo?

Merci.

sn00py
 
Re : Ignorer cellule vide dans combobox

bonjour Sn00py

Salut Olivier

Atester:

Code:
Private Sub UserForm_Initialize()
Dim cell As Range
With ComboBox1
  .ColumnCount = 2
  .ColumnWidths = "100,0"
End With
With Sheets("Feuil1")
tableau = .Range("A2:B" & .Range("A65536").End(xlUp).Row)
For n = 1 To UBound(tableau, 1)
 For m = n + 1 To UBound(tableau, 1)
   If tableau(m, 1) < tableau(n, 1) Then
     temp = tableau(n, 1)
     temp1 = tableau(n, 2)
     tableau(n, 1) = tableau(m, 1)
     tableau(n, 2) = tableau(m, 2)
     tableau(m, 1) = temp
     tableau(m, 2) = temp1
   End If
 Next m
Next n
    For n = 1 To UBound(tableau, 1)
     If tableau(n, 1) <> "" Then
       ComboBox1.AddItem tableau(n, 1)
       ComboBox1.List(ComboBox1.ListCount - 1, 1) = tableau(n, 2)
     End If
  Next n
End With
End Sub
Private Sub ComboBox1_Change()
Me.TextBox1 = Me.ComboBox1.Column(1, Me.ComboBox1.ListIndex)
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
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Réponses
2
Affichages
181
Réponses
5
Affichages
157
Réponses
4
Affichages
242
Réponses
3
Affichages
168
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…