Probleme de debutant avec les combobox

Résolu
cs_vevel Messages postés 62 Date d'inscription jeudi 26 mai 2005 Statut Membre Dernière intervention 30 mai 2017 - 26 mai 2005 à 23:54
cs_ITALIA Messages postés 2169 Date d'inscription vendredi 20 avril 2001 Statut Membre Dernière intervention 30 juin 2009 - 1 juin 2005 à 08:16
Salut le monde,
J'ai un petit soucis de debutant avec les combox. Je souhaite faire apparaitre les valeurs texte d'une colonne dans ma combox. La premiere valeur a prendre en compte se situe en 3eme ligne (je ne peux donc pas selectionner la colonne entiere), et j'ai plus de 500 lignes a prendre en compte (je sais que je suis parfois faineant, mais me taper de 500 fois la meme commande....non merci). De plus, le meme text peut se retrouver plusieurs fois dans la colonne, et je souhaiterais le voir apparaitre un seule fois si cela est possible.

Alors voila ce que j'ai commence a faire, mais c'est pas vraiment ce que je veux.

Private Sub UserForm_Initialize()
With CmbObject1 'Values Available in Object1 Box
.AddItem Worksheets("Feuille1").Cells(3, 5).Value
.AddItem Worksheets("Feuille1").Cells(4, 5).Value
.AddItem Worksheets("Feuille1").Cells(5, 5).Value
End With
End Sub

Alors je compte sur votre aide pour me donner un coup de main utile. Et si vous pouvez etre clair dans vos explications car je suis un ch'ti debutant et je n'y connait pas grand chose en prog, ni en informatique d'ailleur.

Merci a vous et bonne bourre a toutes et a tous.

Vevel.

9 réponses

jpleroisse Messages postés 1788 Date d'inscription mardi 7 novembre 2000 Statut Membre Dernière intervention 11 mars 2006 27
27 mai 2005 à 00:29
Bonsoir,

Pour Remplir ta combobox avec les données de la colonne E, en
commençant à la troisième ligne jusque la ligne 500. Pour les doublons,
il faut que je cherche, je n'ai jamais fait celà.



Option Explicit

Const NumCol = 5 '(5 correspond à la collone E)



Private Sub UserForm_Initialize()

Dim EntryCount As String, i

For i = 3 To 500

EntryCount = Cells(NumCol)(i).Value

CmbObject1.AddItem EntryCount

Next i

End Sub



jpleroisse
3
cs_ITALIA Messages postés 2169 Date d'inscription vendredi 20 avril 2001 Statut Membre Dernière intervention 30 juin 2009 9
27 mai 2005 à 09:27
Exist=False ' Booléen Testant si la Valeur est déja Présente dans la Combo

Private Sub UserForm_Initialize()
With CmbObject1
For i=3 to 500 ' Pour Les Lignes 3 à 500
For j=0 to CmbObject1.ListCount-1 ' Test si la Valeur Existe
If CmbObject1.list(j)=Worksheets("Feuille1").Cells(i, 5).Value Then Exist=True
Next
If Exist=False Then .AddItem Worksheets("Feuille1").Cells(i, 5).Value ' Si Non Présente alors Ajout
Exist=False
Next
End With
End Sub

It@li@
3
cs_vevel Messages postés 62 Date d'inscription jeudi 26 mai 2005 Statut Membre Dernière intervention 30 mai 2017 1
30 mai 2005 à 12:47
Merci a vous deux, le chmilblik avance pas mal. Par contre, je souahite faire un truc nikel. Et pour cela quelques modifs a faire encore. Tout d'abord, enlever les cases vides dans la liste. En effet, certaines cases de la colonne sont vides et dans la combobox, j'ai une case vide forcement que je souahiterais enlever......Et egalement, je voulais savoir si la liste peut etre editer par ordre alphabetique...
Derniere ch'tite chose, si j'ai deux listes a prendre en compte, chacune sur une feuille differentes. Quelle est la commande a mettre pour que les meme valeurs textes n'apparaissent qu'une seule fois.

Merci d'avance pour vos reponses si rapides la derniere fois.

Bonne bourre a tous.
3
cs_ITALIA Messages postés 2169 Date d'inscription vendredi 20 avril 2001 Statut Membre Dernière intervention 30 juin 2009 9
30 mai 2005 à 13:30
Pour trier un ComboBox par Liste Alphabétique mets sa propriété Sorted=True

It@li@
3

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_ITALIA Messages postés 2169 Date d'inscription vendredi 20 avril 2001 Statut Membre Dernière intervention 30 juin 2009 9
30 mai 2005 à 13:33
Pour ne pas ajouter la Cellule Vide remplace dans mon Code la Ligne :

If Exist=False Then .AddItem Worksheets("Feuille1").Cells(i, 5).Value ' Si Non Présente alors Ajout

Par :

If Exist=False And Worksheets("Feuille1").Cells(i, 5).Value <>"" Then .AddItem Worksheets("Feuille1").Cells(i, 5).Value ' Si Non Présente alors Ajout

It@li@
3
cs_vevel Messages postés 62 Date d'inscription jeudi 26 mai 2005 Statut Membre Dernière intervention 30 mai 2017 1
30 mai 2005 à 20:24
Merci a toi [mailto:It@li It@li]@, je n'arrive pas a trouver le "sorted" dans les propriete, mais c pas grave. Merci pour tout......cool

Vevel
0
cs_ITALIA Messages postés 2169 Date d'inscription vendredi 20 avril 2001 Statut Membre Dernière intervention 30 juin 2009 9
31 mai 2005 à 08:18
Surement parceque c'est du VBA...car en VB ça existe....recherche une fonction de trie sur ce site..il y en a des dizaines

It@li@
0
cs_vevel Messages postés 62 Date d'inscription jeudi 26 mai 2005 Statut Membre Dernière intervention 30 mai 2017 1
31 mai 2005 à 20:20
Heu et bien en fait, les doublond sont toujours la dans ma liste....comment kon fait donc pour les virer
0
cs_ITALIA Messages postés 2169 Date d'inscription vendredi 20 avril 2001 Statut Membre Dernière intervention 30 juin 2009 9
1 juin 2005 à 08:16
Pour les doublons j'ai posté une source.

Recherches la

It@li@
0
Rejoignez-nous