![]() |
|
Forum
|
|
|
#1 (permalink) |
|
Guest
Messages: n/a
|
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 | |||
|
|
|
|
#2 (permalink) |
|
Guest
Messages: n/a
|
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 |
|
|
#3 (permalink) |
|
Guest
Messages: n/a
|
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 |
| Liens sociaux |
| Outils de la discussion | |
|
|