Excel Downloads
Forum

Précédent   Excel Downloads Forums > Archives > Forum Excel Downloads - Archives


 
 
LinkBack Outils de la discussion
Vieux 26/06/2003, 15h03   #1 (permalink)
liline
Guest
 
Messages: n/a
Par défaut items d'une liste automatiquement par ordre alphabétique

J'ai en fait deux combobox, une listbox et un bouton.
lorsque je fais un choix dans le 1er combobox, le 2e se remplit différemment. lorsque j'appuie sur le bouton, je concatène la valeur sélectionnée dans le 1er combobox et celle du 2e et j'inscris le résultat dans la listbox.
Ce que je souhaiterais, c'est pouvoir ranger automatiquement les résultats par ordre décroissant dans la listbox.

ex : je choisis la valeur 2 dans le combobox1 et 7 dans le 2e : dans la listbox, j'obtiens: "2 * 7 = 14"
puis, je choisis les valeurs 6 et 3, ce qui me donne "6 * 3 = 18".
J'aimerais donc que cette chaine apparaisse avant la première et ainsi de suite pour les prochaines chaines.

j'ai essayé en utilisant Listindex et List(i), mais ca n'a pas marché.
Je pensais utliser "right" pour obtenir la fin de la chaine, mais je ne vois pas comment faire après.

Merci de tout coeur pour votre aide !

a bientot,

Liline
 
ANNONCES
Vieux 26/06/2003, 16h10   #2 (permalink)
sousou
Guest
 
Messages: n/a
Par défaut Re: items d'une liste automatiquement par ordre alphabétique

Voici une procédure qui trie une listebox par odre alphabétique ou numérique.

Pas sur que cela fonctionne très bien pour tes phrases, mais essaie et donne moi le résultat.

Tu insères la procédure dans un module, et tu l'appels
call trie(userform1.maliste) par exemple

'procédure de trie d'une listebox

Sub trie(liste)
n = liste.ListCount
ReDim matable(n)

For i = 0 To n - 1
'Si les valeur sont numériques
If IsNumeric(liste.List(i)) = True Then k1 = Val(liste.List(i))
'_________________

If k1 > maxi Then
matable(i) = k1
maxi = k1
Else
k = 0
While k1 > matable(k)
k = k + 1
Wend
'décallage
For z = i To k Step -1
matable(z + 1) = matable(z)
Next
matable(k) = k1
Application.StatusBar = i
End If
Next
liste.List() = matable

End Sub

liste.List() = matable

End Sub
 
Vieux 26/06/2003, 16h35   #3 (permalink)
sousou
Guest
 
Messages: n/a
Par défaut Re: items d'une liste automatiquement par ordre alphabétique

Excuse!
Il manquait si alpha .......

'procédure de trie d'une listebox

Sub trie(liste)
n = liste.ListCount
ReDim matable(n)

For i = 0 To n - 1
'Si les valeur sont numériques
If IsNumeric(liste.List(i)) = True Then
k1 = Val(liste.List(i))
'__________Si alpha_______
Else
k1 = liste.List(i)
End If
If k1 > maxi Then
matable(i) = k1
maxi = k1
Else
k = 0
While k1 > matable(k)
k = k + 1
Wend
'décallage
For z = i To k Step -1
matable(z + 1) = matable(z)
Next
matable(k) = k1
Application.StatusBar = i
End If
Next
liste.List() = matable

End Sub
 
Vieux 01/07/2003, 11h48   #4 (permalink)
liline
Guest
 
Messages: n/a
Par défaut Re: items d'une liste automatiquement par ordre alphabétique

Merci pour ton aide !
ca marche !
a bientot et merci encore !
 
ANNONCES
 

Liens sociaux

Outils de la discussion

Règles de messages
Vous ne pouvez pas créer de nouvelles discussions
Vous ne pouvez pas envoyer des réponses
Vous ne pouvez pas envoyer des pièces jointes
Vous ne pouvez pas modifier vos messages

Les balises BB sont activées : oui
Les smileys sont activés : oui
La balise [IMG] est activée : oui
Le code HTML peut être employé : non
Trackbacks are oui
Pingbacks are oui
Refbacks are oui


Fuseau horaire GMT +2. Il est actuellement 19h29.


(C) 2006 Excel Downloads