Bonjour à toutes et tous,
J'ai un souci de ergonomie lorsque je crée dans une userform une liste déroulante en VBA.
Par code je vais récupérer dans une feuille (aliments) et dans une colonne B (nom de l'aliment) toutes les cellules pour lesquelles la colonne C (type d'aliment) satisfait la condition demandée
Mon problème;
La liste (liste_aliments) récupère bien toutes les valeurs MAIS en fin de liste il y a toujours une ligne vide en plus sur laquelle l'utilisateur peut cliquer ce qui ne doit pas être.
Voici mon extrait de code :
Je ne comprend pas:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 Me.liste_aliments.AddItem k = 0 'définit la première ligne de la liste Range("C2").Select While ActiveCell.Value <> "" If ActiveCell.Value = type_aliment_temp Then Me.liste_aliments.AddItem Me.liste_aliments.List(k, 0) = ActiveCell.Offset(0, -1).Value k = k + 1 End If ActiveCell.Offset(1, 0).Select Wend
Pourquoi y a t il toujours une ligne de plus ? Exemple pour le type "légume". Il y a 3 noms à récupérer, mais la liste crée comporte bien les 3 lignes avec les noms mais il y a une 4ème ligne vide !!!
Voyez vous l'anomalie (en bleu dans la liste aliments) ?
Merci par avance pour votre aide.
Bonne journée.
Partager