Array.sort [Résolu]

Signaler
Messages postés
8
Date d'inscription
mercredi 1 novembre 2000
Statut
Membre
Dernière intervention
24 novembre 2004
-
Messages postés
8
Date d'inscription
mercredi 1 novembre 2000
Statut
Membre
Dernière intervention
24 novembre 2004
-
Bonjour à toutes et tous,

Encore une question qui va vous sembler simplissime ^^

Bon, quand je veux trier un vecteur en vb j'utilise

Array.Sort(MonVecteur)

Seul hic, dans excel ça n'a pas l'air de marcher. Le déboguer me dit "erreur de synthaxe"

Quelqu'un peut me donner la bonne synthaxe ou je dois vraiment refaire un bubble?

4 réponses

Messages postés
2676
Date d'inscription
vendredi 28 juin 2002
Statut
Membre
Dernière intervention
13 janvier 2016
14
salut

ah oui, mais array.sort n'existe pas sous VBA... donc il ne te reste plus qu'à implémenter un tri à bulle ou autre tri...que tu trouveras en masse sur le site...

ShareVB
3
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 123 internautes nous ont dit merci ce mois-ci

Messages postés
2676
Date d'inscription
vendredi 28 juin 2002
Statut
Membre
Dernière intervention
13 janvier 2016
14
salut

bon je ne connais pas cette fonction mais en VB :
"Array.Sort(MonVecteur)" seulement sur une ligne : c effectivement erreur de syntaxe

il faut :
- soit "Call Array.Sort(MonVecteur)"
- soit "Array.Sort MonVecteur"

ShareVB
Messages postés
8
Date d'inscription
mercredi 1 novembre 2000
Statut
Membre
Dernière intervention
24 novembre 2004

ça ne marche pas :'(
ça me met: attendu: "numéro de ligne, ou étiquette ou instruction ou fin d'instruction"

Voilà ce que je fais pour palier au problème:
Mon vecteur est déclaré en tant que Tri(15) as integer

For i = 0 To 15
Range("$F$" & i + 1).Formula = Tri(i)
Next i
Range("F1:F16").Select
Selection.Sort Key1:=Range("F1"), Order1:=xlAscending, Header:=xlGuess, _
OrderCustom:=1, MatchCase:=False,
Orientation:=xlTopToBottom
For i = 0 To 15
Tri(i) = Range("$F$" & i + 1)
Next i

En clair je mets mon vecteur dans la colonne F, je trie la colonne F puis je remets chaque élément de ma colonne triée dans mon vecteur.
Ca, ça marche.
Je voudrais faire ça sans passer par la colonne intermédiaire.

Excel n'a pas l'air de connaître la methode Array.Sort que j'utilise pourtant sans problème sur visual studio.
Sur visual studio Array.Sort(Tri) et ça marche mais pas sur excel :'(
Messages postés
8
Date d'inscription
mercredi 1 novembre 2000
Statut
Membre
Dernière intervention
24 novembre 2004

Ok merci je vais faire ça alors :)