Tri automatique sous Excel

Tri automatique sous Excel - VB/VBA/VBS - Programmation

Marsh Posté le 22-12-2005 à 14:13:03    

Bonjour à tous,
voila mon problème et si quelqu'un pourrait m'aider çà serait sympa.
Je rentre des valeurs dans une feuille excel via des textbox dans un USF.
Dans la première textbox je rentre un nombre mais il se peut que je rentre d'autres nombres mais pas dans un ordre logique.
Comment faire pour pouvoir les trier du + petit au + grand automatiquement, ou bien est ce que ce tri doit se faire dans la feuille Excel ???
Merci pour votre aide

Reply

Marsh Posté le 22-12-2005 à 14:13:03   

Reply

Marsh Posté le 23-12-2005 à 08:21:42    

en VBA, il n'existe pas de fonction de tri de tableau. Sous Excel, on peut se servir de la fonction tri sur une feuille.
Il existe des solutions : le tri à bulle etc... et l'utilisation d'une fonction WordBasic de Word6 qui fonctionne encore en VBA Word et qui tri des tableaux à une ou deux dimensions.
 
WordBasic.SortArray NomTableau()[,Ordre][,De][,A][,TypeTri][,Clétri]
- Ordre : 0 ou omis = croissant, 1 = décroissant
- De : Numéro du premier élément à trier (0 par défaut)
- A :Numéro du dernier élément à trier
-TypeTri :uniquement sur tableau à deux dimensions O ou omis = Trie sur les lignes, 1 sur les colonnes
- CléTri : numéro de ligne ou de colonne qui sert de base pour le tri  
 
Sous excel il suffit de mettre en référence Microsoft Word X.0 Objet Library pour faire fonctionner cette function.
Exemple Excel :
Sub Trier() ' mettre en référence     microsoft word X.0 objet library
Dim liste(2) As String
liste(0) = "wse"
liste(1) = "ade"
liste(2) = "hyt"
WordBasic.SortArray liste()
MsgBox liste(0) & vbLf & liste(1) & vbLf & liste(2)
End Sub

Reply

Marsh Posté le 23-12-2005 à 09:56:09    

Slt,
En fait j'ai en partie résolu le problème en enregistrant une macro sous excel puis récupérer le code de la macro dans le module vba , copier ce code et l'insérer dans mon code principal vba et çà marche
merci pour tes réponses

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed