trier liste ds usf

pitchoune85

XLDnaute Junior
re bonjour le forum
j'aimerai un renseignement : a savoir s'il est possible de trier une liste dans une liste déroulante dans une formulaire à partir d'une colonne excel où les données dépendents d'autres colonnes

un exemple vaut toujours mieux que de longues explications alors voici :

j'aimerai trier la liste de la colonne T

merci par avance de votre aide [file name=trier_liste.zip size=31933]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/trier_liste.zip[/file]
 

Pièces jointes

  • trier_liste.zip
    31.2 KB · Affichages: 18

Charly2

Nous a quittés en 2006
Repose en paix
Salut Pitchoune85, bonjour à toutes et à tous :)

Pourquoi ne pas trier directement la colonne T ? Si c'est une solution acceptable pour toi, tu tapes simplement la formule suivante en R3 (puis tirer vers le bas) :

=SI(ESTTEXTE(S3);NB.SI($S$3:$S$487;'<'&S3)+1;'')

Tiens-nous au courant.

A+ ;)
 

pitchoune85

XLDnaute Junior
ALORS LA CHARLY BRAVO
Je m'incline, c'est génial
ca fait deux heures que je suis sur une macro que j'ai trouvé sur un fil, je m'excuse je recherche le dossier pour le citer :sick:
ca a failli fonctionner il y a 15 min mais ca ne marche plus
je te joint le fichier qd même si ca intéresse quelqu'un de regarder et de me dire qd même ce qui bloque
;) vraiment merci [file name=trier_liste2.zip size=33787]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/trier_liste2.zip[/file]
 

Pièces jointes

  • trier_liste2.zip
    33 KB · Affichages: 16

Charly2

Nous a quittés en 2006
Repose en paix
re Pitchoune85,

Pour la macro dont tu parles (tri sans doublons), tu peux modifier la partie tri ainsi :

For i = LBound(Tablo) To UBound(Tablo) - 1
  For j = i + 1 To UBound(Tablo)
    If UCase(Tablo(i)) > UCase(Tablo(j)) Then
      Tmp = Tablo(j)
      Tablo(j) = Tablo(i)
      Tablo(i) = Tmp
    End If
  Next j
Next i

Ça, c'est pour le code. Maintenant, j'ai repéré une petite erreur dans ta feuille de calcul en colonne T. Il serait préférable de modifier ta formule ainsi :

=SI(NBVAL(T$1:T2)>MAX(R:R);'';RECHERCHEV(PETITE.VALEUR(R:R;LIGNE()-2);R:S;2;0))

au lieu de

=SI(NBVAL(T$1:T2)+2>MAX(R:R);'';RECHERCHEV(PETITE.VALEUR(R:R;LIGNE()-2);R:S;2;0))

car sinon, tu te prives de 2 prénoms.

En espérant avoir répondu à ta question et à ta non-question :p

A+ ;)
 

pitchoune85

XLDnaute Junior
merci pour la correction de la formule
maintenant c'est ok:woohoo:
vu que ton tri fonctionne très bien, j'ai laissé tomber pour l'instant la macro
le pblème c'est que je n'arrive pas à la lancer
si tu veux bienr egarder ds le fichier joint et me le renvoyer
merci
sab
 

Charly2

Nous a quittés en 2006
Repose en paix
re Sab, bonsoir à toutes et à tous :)

Je te renvoie le fichier modifié. Vérifie quand même le code car j'ai apporté des modifications mais sans avoir l'intégralité de ton classeur (toutes les modifs sont commentées).

[file name=Pitchoune85_trier_liste.zip size=41184]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/Pitchoune85_trier_liste.zip[/file]

EDITION : Dans les noms (listes), tu as Parent, PARENTNOMF, PRENOMEL et RFrais qui sont définis à partir de la ligne 2, il faut que tu les modifies pour les faire débuter à la ligne 3 (sinon il te manque 1 donnée). Pour RFrais, tu peux mettre simplement =Parent.

A+ ;)

Message édité par: Charly2, à: 23/03/2006 22:44
 

Pièces jointes

  • Pitchoune85_trier_liste.zip
    40.2 KB · Affichages: 13

pitchoune85

XLDnaute Junior
vraiment merci bcp pour toutes cex explications
je vois plus clair ds pas mal de choses maintenant
par contre j'ai un soucis
j'ai tout recopier ds mon fichier
par contre ce ne fonctionne pas
cela vient de l'appel suivant :
Private Sub UserForm_Initialize()
Call Module1.AddItem_Loop_Sort_Unique_Records_Collection_On_Dynamic_Array
End Sub

si je laisse ca : j'ai un message de débogage (à l'ouverture : il refuse de m'ouvrir usf2) et il me surligne usf2.show

Par contre si je met :
Private Sub Usf2_Initialize()
Call Module1.AddItem_Loop_Sort_Unique_Records_Collection_On_Dynamic_Array
End Sub

là il m'ouvre usf2 mais je n'ai rien ds ma combobox2

est ce que tu as une solution

merci et bonne nuit
 

Charly2

Nous a quittés en 2006
Repose en paix
re Sab :)

Curieux comportement ! Je t'envoie une explication par image, tu seras peut-être contrainte de créer la procédure événementielle adéquate (soit Initialize, soit Activate)...

[file name=Pitchoune85_EcranVBA.zip size=45187]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/Pitchoune85_EcranVBA.zip[/file]

Bonne nuit.

A+ ;)
 

Pièces jointes

  • Pitchoune85_EcranVBA.zip
    44.1 KB · Affichages: 9

Discussions similaires

Statistiques des forums

Discussions
312 466
Messages
2 088 662
Membres
103 910
dernier inscrit
amor57