triage alpha pour combobox

Dennnisss

XLDnaute Occasionnel
Bonsoir a tous

j'avais deja realiser un programme ou un code avec votre aide , mais vu que ma banque de données grandit beaucoup il vient difficile de trouver mes données , je m'explique lorsque que je me sert de mon combo j'aimerais qu'il les tries en ordre alpha dans le combo et non sur la feuille de calcul excel , et faire ca recherche et lister par la suite

J'ai essayer de trouver sur le forum des codes pouvait s'ajuster au miens pas evident la plupart que j'ai trouver trie sur la colonne A , alors que moi je cherche a trier soit sur collone C ou f ou encore h

alors je vous demande de l'aide encore pour m'aidé a trouvée le code svp

bien sur que cette nouvelle discution je vous envoie un petit dossier pour me suivre

bonne soirée a vous les acros

dennnisss:):)
 

Pièces jointes

  • triage combo.zip
    17.3 KB · Affichages: 56

Dranreb

XLDnaute Barbatruc
Re : triage alpha pour combobox

Voudriez vous utiliser un dictionnaire arborescent ?
Ses clés seraient les catégories sans doublon classées en ordre croissant et ses items les listes des numéros des lignes dans la plage source. Mes dictionnaires arborescents sont très faciles à constituer par une fonction DictionnArbo. Il peuvent aussi avoir plusieurs niveaux. Ils peuvent aussi être filtrés selon des listes de numéros de lignes venant par exemple du choix dans un dictionnaire établi sur une autre colonne. Et s'il y avait plusieurs ComboBox pour différentes colonnes, j'ai même un système intégré qui orchestre tout ça sans que vous vous en occupiez dans l'Userform. Il y aurait juste à y spécifier les ComboBox concerné et les colonnes d'où doivent être prises leurs listes. La liste des numéros des lignes correspondant aux choix effectués vous serait transmise dans une procédure évènement.
 
Dernière édition:

mapomme

XLDnaute Barbatruc
Supporter XLD
Re : triage alpha pour combobox

Bonsoir Dennnisss, Dranreb :) ,

Un essai dans le fichier joint.

Quand le userform "Recherche" est affiché, il suffit de cliquer sur une étiquette de colonne (Titre du fim, Numero, Catégorie, Temps, etc...) pour trier la liste selon cette colonne.

Le code de la procédure Trier (dans le module du UserForm "Recherche"):
VB:
Sub trier(Ncol)
Const Mois = ""
Dim Nelem As Long, Tablo()
  Nelem = Me.ListBoxRech.ListCount
  'Construction du tableau à trier
  For i = 0 To Me.ListBoxRech.ListCount - 1
    ReDim Preserve Tablo(0 To i)
    Select Case Ncol
      Case 1, 3, 5, 6, 7, 8
        Tablo(i) = Me.ListBoxRech.List(i, Ncol) & "]" & Space(10 - Len(i)) & i
      Case 2, 4, 9
        Tablo(i) = Space(10 - Len(Me.ListBoxRech.List(i, Ncol))) & Me.ListBoxRech.List(i, Ncol) & "]" & Space(10 - Len(i)) & i
    End Select
  Next i
  
  'tri de tablo
  tri Tablo, 0, UBound(Tablo)
  
  'écriture des lignes triées en fin de liste
  For i = LBound(Tablo) To UBound(Tablo)
    Me.ListBoxRech.AddItem 
    For j = 1 To 9
      Me.ListBoxRech.List(Nelem + i, j) = Me.ListBoxRech.List(Val(Split(Tablo(i), "]")(1)), j)
    Next j
  Next i
  
  'suppression des lignes non triées en tête de liste
  For i = Nelem To 1 Step -1
    Me.ListBoxRech.RemoveItem i - 1
  Next

End Sub

nb: le tri selon (mois+année) serait à améliorer mais comme les saisies ne semblent pas obéir à des règles de validation :( , je renonce à le faire.
 

Pièces jointes

  • Test de combo trier alpha v1.xls
    70 KB · Affichages: 86
Dernière édition:

Dennnisss

XLDnaute Occasionnel
Re : triage alpha pour combobox

Salut Dranreb et Mapomme

Oh j'ai essayer le code a mapomme wow c,est bien c,est un code que je vais m'empreser de sauvegarder ,mais ma demande n'etait pas tous a fait cela ,je voulais que dans le combo soit trier en ordre alpha et lorsque je je selectionne un item la listbox affiche seulement cette item exemple si je coisi un film action alors il affichera seulement ce genre de film , alors je possede tous pret de 1000 film dvd et la combobox devient difficile a gerer car ils sont tous melangees se serait plus facile en ordre alpha dans la combo

merci a vous deux je me remet a vous
dennnisss:)
 

Dennnisss

XLDnaute Occasionnel
Re : triage alpha pour combobox

Salut a toi mapomme

ce message te concerne toi , le code que tu ma envoyer va sans doute m'aider dans un autre programme ce code me semble parfait pour remplacer ma listview que j'avais creer avec l'aide des acros , mais lorsque j'avais tenter de transferer ma listview dans un excel version 2010 alors la ca allait pas du tous , alors celui que tu vient de creer semble ideal je vais le tester plus tard en attendant votre correction de l'autre


merci a toi mapomme
dennnisss:)
 

Dennnisss

XLDnaute Occasionnel
Re : triage alpha pour combobox

bonjour Dranreb

j'ai lu et relu ta proposition pour etre sur de bien de suivre ou comprendre tu m'offre un code de combo s'en ouverture d'un user form si je comprend bien il faudra creer plusieurs combo direct dans la feuille de calcul si je te suit bien alors oui j'aimerais bien voir le resultat mais par contre pour ne pas travailler pour rien et servir d,autre internaute qui veulent l'aide de votre part alors je m'en tiendrai a ma premiere demande je ne voudrait pas exagerer de votre temps moi je suis telllement content quand vous m'aider c'est avec une grande appreciation que votre aide est utile

alors merci a toi dranreb et attend votre aide avec grand plaisir et patience
dennnisss:)
 

Dranreb

XLDnaute Barbatruc
Re : triage alpha pour combobox

Bonjour.
Vous ne dites pas vraiment si ma proposition vous intéresse.
Un dictionnaire arborescent correspondrait exactement au besoin: non seulement ses clés, dont on pourrait directement affecter sa Keys au List du ComboBox, seraient classées par ordre alpha, mais en plus la sélection d'un élément donnerait instantanément une table des numéros dans la plage des lignes qui s'y rapportent, avec laquelle il serait très facile de remplir la grande ListBox.
Avec la solution intégrée offerte par un objet à évènements de type ComboBoxLiés, je me ferais fort de permettre de choisir aussi, facultativement, dans 2 autres ComboBox un mot du titre et un(e) acteur(trice), au prix d'un petit ajout faisant partie des utilisations avancées pour constituer les dictionnaires spéciaux de mots clés, car ils ne sont actuellement pas gérés par ComboBoxLiés. J'ai en revanche ajouté dans le module MDictionnArbo une fonction (à mettre au point) qui devrait en renvoyer un à un seul niveau (juste ce qu'il nous faut) en lui spécifiant une plage verticale d'une seule colonne et un String à appliquer comme séparateur (facultatif: un espace assumé)

P.S. Je viens de voir le dernier post. Non, non, non. Je propose bien des choses qui fonctionne dans un Userform, mais sans qu'on ait à s'en occuper dedans, à part d'indiquer à un dispositif extérieur ce qu'on attend de lui, c'est à dire sur quoi il doit travailler, et qui est spécialisé dans la gestion des choix dans plusieurs ComboBox liés. On ne dérange plus l'Userform à devoir gérer lui même les ComboBoxX_Change, on le prévient seulement quand il y a quelque chose d'intéressant pour lui, à savoir une liste de numéros de lignes dans la plage, résultant de la combinaison de tous les choix.
 
Dernière édition:

Dennnisss

XLDnaute Occasionnel
Re : triage alpha pour combobox

bonjour Dranreb

bien sure que votre proposition m'interrese car vous m'avez deja aide et vos code ou vos correctifs sont creer de facon super et tres performant , c,est sure que pour moi c'est plus difficile de bien vous lire car je n'ai pas d,etude approfondie sur les userform ou le VBA en tant que tel je possede juste une etude ancien sur la programmation soit basic , alors oui ton code m'interresse beaucoup dranreb j'attend avec beaucoup de joie

merci dennnisss
 

mapomme

XLDnaute Barbatruc
Supporter XLD
Re : triage alpha pour combobox

Bonsoir Dennnisss,

(...) mais ma demande n'etait pas tous a fait cela ,je voulais que dans le combo soit trier en ordre alpha (...)

Si j'ai bien compris : Un essai avec tri de la Combobox. La possibilité de trier la listbox par un clique sur les en-têtes est bien sur conservée.

donc à priori:
1) la combobox est triée (sub InitCombo)
2) quand on sélectionne un item dans la combobox, la listbox se met à jour (je n'ai rien touché)
3) en cliquant sur un en-tête de colonne de la listbox, on trie la listbox sur cette colonne.

je ne suis pas certain d'avoir tout bien compris...
 

Pièces jointes

  • Test de combo trier alpha v2.xls
    66.5 KB · Affichages: 77

Dranreb

XLDnaute Barbatruc
Re : triage alpha pour combobox

Alors voilà ce qu'on peut faire avec des Dictionary.
Toute la programmation de l'Uf tient dans 52 lignes, y compris celles vides entre chaque procédure. Une seule page de la fenêtre de code.
 

Pièces jointes

  • CbxLiésDennnisss.xls
    223.5 KB · Affichages: 70
  • CbxLiésDennnisss.xls
    223.5 KB · Affichages: 76
  • CbxLiésDennnisss.xls
    223.5 KB · Affichages: 74

Dennnisss

XLDnaute Occasionnel
Re : triage alpha pour combobox

Bonsoir Mapomme et bernard(Dranreb)

je viens de prendre connaissance de votre correction sur mon code pour ce qui est de mapomme oui c'etait bien cela que je voulais creer combobox en mode alpha et par la suite lister sur la listbox , et de ce qui est pour dranreb wow je suis stupefait tu a creer un combobox qui me couche par terre celui qui trie en ordre alpha la liste de mes acteurs wow ca c,est extra je ne savait meme pas que ca pouvait ce faire je suis bouche bée

alors merci a vous deux votre site m'impressionne de jour en jour que vous nous aidé et que votre salaire est un simple merci
alors je vous dit MERCI MERCI MERCI

je suis tres heureux en ce moment bonne soirée ou bonne nuit a vous deux

denis gauthier Canada Quebec:)
 

Dennnisss

XLDnaute Occasionnel
Re : triage alpha pour combobox

salut Dranreb

je viens de lire tes code que tu m'a creer je suis encore plus stupefait que tantot , ton code est digne d'un maitre
je te remercierai jamais assez qu'une personne loin de chez-moi ma aidé d'une facon de maitre bravo
alors merci encore a toi et ton beau boulot

denis gauthier
 

Discussions similaires

Réponses
17
Affichages
726

Statistiques des forums

Discussions
312 084
Messages
2 085 194
Membres
102 811
dernier inscrit
caroline29260