A voir également:
- [visual basic] problème de Combobox
- Visual basic - Télécharger - Langages
- Visual basic editor - Télécharger - Langages
- Visual petanque - Télécharger - Sport
- Microsoft 365 basic - Accueil - Microsoft Office
- Visual c++ 2019 - Guide
5 réponses
salut john,
une solution serait de tout stocker dans un tableau, de trier ce tableau, puis de le parcourir pour en enlever tous les doublons. Ensuite seulement, tu fais ComboBox.AddItem avec les éléments de ce tableau.
une solution serait de tout stocker dans un tableau, de trier ce tableau, puis de le parcourir pour en enlever tous les doublons. Ensuite seulement, tu fais ComboBox.AddItem avec les éléments de ce tableau.
Merci de ta réponse.
Ce que j'étais en train de faire, puisque j'ai une boucle qui liste les extensions, à l'intérieur je faisais :
mavariable = Right(fichier, 3)
If macombo.Text <> mavariable Then 'si l'extension existe pas, je l'ajoute
macombo.AddItem (mavariable)
End If
Mais il compare uniquement la première valeur de la combo qui est : " " donc il ajoute quand même.
Il faudrait que je puisse comparer avec ce qu'il y a dans la combo.Comment faire ?
Merci.
Ce que j'étais en train de faire, puisque j'ai une boucle qui liste les extensions, à l'intérieur je faisais :
mavariable = Right(fichier, 3)
If macombo.Text <> mavariable Then 'si l'extension existe pas, je l'ajoute
macombo.AddItem (mavariable)
End If
Mais il compare uniquement la première valeur de la combo qui est : " " donc il ajoute quand même.
Il faudrait que je puisse comparer avec ce qu'il y a dans la combo.Comment faire ?
Merci.
comme kobaya te l'a dit, il faut d'abord faire une liste de toute les extensions que tu veux mettre, puis les filtrer, pour supprimer les doublons, et seulement après tu ajoutes automatiquement chaque extension depuis la liste filtrée, donc une seule fois. ^^
Sub RemplirComboSansDoublons() Dim rngCell As Range Dim intNbItem As Integer Dim blnFlag As Boolean blnFlag = False For Each rngCell In Range("A1").CurrentRegion.Cells For intNbItem = 0 To ComboBox1.ListCount - 1 If rngCell.Value = ComboBox1.List(intNbItem) Then blnFlag = True Exit For End If Next If Not blnFlag Then ComboBox1.AddItem rngCell.Value End If Next End Sub
Ca vaut peut-être le coup de comparer la rapidité de ce code avec la solution que je t'avais décrite auparavant. De plus, ici les éléments ne sont pas triés.
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Merci pour vos réponses.
En m'aidant de ce que tu proposais kobaya, j'ai réussi en changeant certaines choses à supprimer mes doublons !!
Je n'ai pas tester la méthode des tableaux ( enfin si, mais jamais réussi à faire fonctionner... ) Je m'emmêler dans les boucles..
Bref merci à ceux qui se sont penchés sur mon problème !
En m'aidant de ce que tu proposais kobaya, j'ai réussi en changeant certaines choses à supprimer mes doublons !!
Je n'ai pas tester la méthode des tableaux ( enfin si, mais jamais réussi à faire fonctionner... ) Je m'emmêler dans les boucles..
Bref merci à ceux qui se sont penchés sur mon problème !