Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

combobox ordonnée

  • Initiateur de la discussion Alex
  • Date de début
A

Alex

Guest
Bonjour tout le monde !

J'ai un petit souci
j'ai initialisé ma combox mais j'aimerais qu'el soit rangé dans l'ordre alphabétique sans changer l'odre des noms de ma colonne A

Comment faire ??

J'ai joint un fichier exemple

MErci d'avance
 

Pièces jointes

  • problem.zip
    13.3 KB · Affichages: 20
  • problem.zip
    13.3 KB · Affichages: 18
  • problem.zip
    13.3 KB · Affichages: 17
Z

Zon

Guest
Salut,
En passan par un tableau VBA, modifies dans Ton module Thisworkbook:

Private Sub Workbook_Open()
'***********************************************************************************
'initialisation combobox regroupant tous les salariés de l'entreprise
Dim T
With Sheets("bilan_horaire")
T = Range(.[A2], .[A65536].End(xlUp)).Value
TriMulti T, 1, LBound(T), UBound(T)
For I = LBound(T) To UBound(T)
If (T(I, 1)) <> "" Then .ComboBox1.AddItem T(I, 1)
Next I
End With
'***********************************************************************************
End Sub
Sub TriMulti(Tablo, Col As Byte, Min&, Max&) 'ZOn
'Tri dichotomique
Dim I&, J&, K&, M, Chaine
I = Min
J = Max
M = Tablo((Min + Max) / 2, Col)
While (I <= J)
While (Tablo(I, Col) < M And I < Max)
I = I + 1
Wend
While (M < Tablo(J, Col) And J > Min)
J = J - 1
Wend
If (I <= J) Then
For K = LBound(Tablo, 2) To UBound(Tablo, 2)
Chaine = Tablo(I, K)
Tablo(I, K) = Tablo(J, K)
Tablo(J, K) = Chaine
Next K
I = I + 1
J = J - 1
End If
Wend
If (Min < J) Then TriMulti Tablo, Col, Min, J
If (I < Max) Then TriMulti Tablo, Col, I, Max
End Sub

A+++
 
P

petchy

Guest
Re: le code de Zon

Bonjour le Forum,

j'ai essayé le code de Zon,mais je rencontre 2 problemes:
1) ma feuille "Base" qui alimente le comboarti n'est pas visible
2)la comboarti est dans un USF et non sur la feuille comme dans l'exemple ci-dessus
quelqu'un aurai une solution ?
est ce que se code peut agir sur 2 combobox,"comboarti" et "comboref"
qui sont dans le meme USF
Private Sub UserForm_Activate()
Dim T
With Sheets("Base")
T = Range(.[A2], .[A65536].End(xlUp)).Value
TriMulti T, 1, LBound(T), UBound(T)
For I = LBound(T) To UBound(T)
If (T(I, 1)) <> "" Then .Comboarti.AddItem T(I, 1)
Next I
End With
End Sub

Petchy
 
Z

Zon

Guest
Re: le code de Zon

Salut,

Petchy, voici un petit exemple pour alimenter 3 combobox à partir du même tableau VBA trié . Cela fonctionne même si la feuille n'est pas visible

A+++
 

Pièces jointes

  • ExemplePetchy.zip
    14.6 KB · Affichages: 20
  • ExemplePetchy.zip
    14.6 KB · Affichages: 18
  • ExemplePetchy.zip
    14.6 KB · Affichages: 16
P

petchy

Guest
bonsoir Zon et le forum

super ta démo,juste un petit détail:
en fait les 2 combobox sont alimenté par la meme liste,c'est faisable.

Une petite danse pour toi

Petchy
 

Discussions similaires

Réponses
15
Affichages
424
Réponses
12
Affichages
416
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…