combobox : ordre alphabétique et en-tête

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

K

kero_67

Guest
Bonjour à tous et Bonne année !! 🙂

Je n'arrive pas à m'en sortir, dans mon USF j'ai une combobox qui fait référence à la colonne A de la Feuil2.
J'ai réussi à enlever les doublons 😀, par contre je n'arrive pas à trier par ordre croissant les données restantes dans la combobox (et je ne peux pas trier dans ma feuil2)...😕
Et je souhaiterais également que l'entête de ma colonne A n'apparaisse pas dans mon combobox, mais si je mets A2 il fait n'importe quoi !!

Voici mon code pour mieux comprendre :

For i = 1 To Feuil2.Range("A65536").End(xlUp).Row
TypeSouris = Feuil2.Range("A" & i)
If TypeSouris.ListIndex = -1 Then TypeSouris.AddItem Feuil2.Range("A" & i)
Next i

(TypeSouris est le nom de ma combobox)

Merci d'avance pour votre aide!

Excel 2007
 
Re : combobox : ordre alphabétique et en-tête

bonjour kero 67

A tester

Code:
Private Sub UserForm_Initialize()
Dim coll As Collection
Set coll = New Collection
For n = 2 To Range("A65536").End(xlUp).Row
  On Error Resume Next
    coll.Add Range("A" & n), CStr(Range("A" & n))
  On Error GoTo 0
Next n
For i = 1 To coll.Count - 1
 For j = i + 1 To coll.Count
 If coll(i) > coll(j) Then
  t1 = coll(i)
  t2 = coll(j)
  coll.Add t1, before:=j
  coll.Add t2, before:=i
  coll.Remove i + 1
  coll.Remove j + 1
 End If
 Next j
Next i
For n = 1 To coll.Count
 TypeSouris.AddItem coll(n)
Next n
End Sub
 
Re : combobox : ordre alphabétique et en-tête

Bonjour Pierrejean,

Merci beaucoup pour cette réponse cela fonctionne très bien ! 🙂
Par contre j'aurais bien voulu savoir à quoi servent t1 et t2 ?

Je souhaiterais tranposer ce code pour d'autre combobox du même USF, j'ai réussi en parti en changeant la colonne A en B, cependant dans mon combobox2 (AgeSouris) apparait bien les données de la colonne B mais également celle de la colonne A et je ne sais pas quoi modifier pour n'avoir que les données de la B :

Private Sub UserForm_Initialize()
Dim coll As Collection
Set coll = New Collection

For n = 2 To Sheets("Liste réservation").Range("A65536").End(xlUp).Row
On Error Resume Next
coll.Add Sheets("Liste réservation").Range("A" & n), CStr(Sheets("Liste réservation").Range("A" & n))
On Error GoTo 0
Next n
For i = 1 To coll.Count - 1
For j = i + 1 To coll.Count
If coll(i) > coll(j) Then
t1 = coll(i)
t2 = coll(j)
coll.Add t1, before:=j
coll.Add t2, before:=i
coll.Remove i + 1
coll.Remove j + 1
End If
Next j
Next i
For n = 1 To coll.Count
TypeSouris.AddItem coll(n)
Next n


For n = 2 To Sheets("Liste réservation").Range("B65536").End(xlUp).Row
On Error Resume Next
coll.Add Sheets("Liste réservation").Range("B" & n), CStr(Sheets("Liste réservation").Range("B" & n))
On Error GoTo 0
Next n
For i = 1 To coll.Count - 1
For j = i + 1 To coll.Count
If coll(i) > coll(j) Then
t1 = coll(i)
t2 = coll(j)
coll.Add t1, before:=j
coll.Add t2, before:=i
coll.Remove i + 1
coll.Remove j + 1
End If
Next j
Next i
For n = 1 To coll.Count
AgeSouris.AddItem coll(n)
Next n

End Sub


Merci d'avance
 
Re : combobox : ordre alphabétique et en-tête

Re

t1 et t2 sont des variables temporaires utilisées pour le classement des membres de la collection
Pour la transposition dans une autre combobox 2 solutions
1) Vider la collection coll qui a été remplie pour la 1ere combobox
for n=1 to coll.count
coll.remove 1
next n
avant de la remplir a nouveau pour la combobox suivante
2)Utiliser une autre collection a declarer par
Dim Coll2 as collection
set coll2=new colllection
 
Re : combobox : ordre alphabétique et en-tête

Bonjour PierreJean

Désolé pour ma réponse tardive je n'arrivais pas à accéder au forum vendredi.
Merci beaucoup, j'ai déclaré un nouveau coll et cela fonctionne très bien ! 😀

Merci pour ton aide
Bonne journée
 
- 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
8
Affichages
390
  • Question Question
XL 2021 listbox
Réponses
18
Affichages
741
Réponses
15
Affichages
788
Réponses
2
Affichages
528
Retour