combobox sans cellules vides

regeos

XLDnaute Nouveau
bonjour,
je sais que ce domaine a certainement du étre abordé mais j'ouvre quand mm une nouvelle discussion.
dans mon userform1, j'ai deux combobox qui me permettent d'entrer les coordonnées (x et y) d'une cellule pour ensuite venir y écrire quelque chose.

donc des la CB1 (par exemple) j'ai une numérotation (1.2.3.4.5......) qui correspond au numéro de ma ligne.
ma plage de donnée varie tout le temps, de plus elle peut étre modifiée par un utilisateur lambda (variation du nbr de ligne utilisable)

il doit étre impossible à l'utilisateur de choisir un numéro supérieur au nombre de ligne existant. (si j'ai 15 lignes l'utilisateur ne peux pas choisir 16)
j'ai des données (texte) dans les cellules A1;A15 comment faire pour que la combobox ne me permette de choisir que jusqu'a 15 (15 étant le numéro de la ligne la dernière cellule comportant une valeur (texte))

Comment faire!
je bloque

MERCII
 

Robert

XLDnaute Barbatruc
Repose en paix
Re : combobox sans cellules vides

Bonjour Regeos, bonjour le forum,

Pour alimenter une Combobox de manière dynamique, tu peux utiliser la méthode List de celle-ci à l'initialisation de l'UserForm.
Par exemple, pour alimenter la ComboBox1 par toutes les cellules éditée de la colonne A (en partant de A2, puisque on peut imaginer une en-tête en A1) de l'onglet Feuil1:
Code:
Private Sub UserForm_Initialize()
Me.ComboBox1.List = Sheets("Feuil1").Range("A2:A" & Sheets("Feuil1").Range("A65536").End(xlUp).Row).Value
End Sub
Si il y a des cellules vide entre la première et la dernière de la liste et que tu ne veux pas qu'elles apparaissent dans la Combobox tu peux aussi faire comme ça :
Code:
Private Sub UserForm_Initialize()
For Each cel In Sheets("Feuil1").Range("A2:A" & Sheets("Feuil1").Range("A65536").End(xlUp).Row)
    If cel.Value <> "" Then ComboBox1.AddItem cel.Value
Next cel
End Sub
 
Dernière édition:

Statistiques des forums

Discussions
312 443
Messages
2 088 474
Membres
103 863
dernier inscrit
OUIDDIR