Trier un tableau Excel en VBS

Breizhmanu22
Messages postés
4
Date d'inscription
jeudi 28 octobre 2010
Statut
Membre
Dernière intervention
2 décembre 2010
- 28 oct. 2010 à 10:29
Breizhmanu22
Messages postés
4
Date d'inscription
jeudi 28 octobre 2010
Statut
Membre
Dernière intervention
2 décembre 2010
- 2 déc. 2010 à 09:45
Bonjour à tous,

Je souhaite trier les données d'un tableau Excel avec mon script. Je n'ai eu aucun problème pour faire ça en VBA (enregistrement macro, blablabla...), mais les commandes ne fonctionne pas en VBS!!!! (je pense que ca vient des "2 points" synonyme d'une nouvelle instruction en VBS). Quelqu'un connaît-il l'équivalent des lignes suivantes en VBS????

code VBA
Range("A1:N" & TextNbTot).Select ' TextNbTot = Nombre de lignes au format string
ActiveWorkbook.Worksheets("Tenant").Sort.SortFields.Add Key:=Range("L2", "L" & TextNbTot), SortOn:=xlSortOnValues, Order:=xlAscending, _
DataOption:=xlSortNormal
ActiveWorkbook.Worksheets("Tenant").Sort.SortFields.Add Key:=Range("N2", "N" & TextNbTot), SortOn:=xlSortOnValues, Order:=xlAscending, _
DataOption:=xlSortNormal
With ActiveWorkbook.Worksheets("Tenant").Sort
.SetRange Range("A1", "N" & TextNbTot)
.Header = xlYes
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With

Je souhaite reproduire un tri similaire en VBS en utilisant aussi l'outil de tri d'Excel!!!!
Si vous voulez plus d'infos n'hésitez pas à réagir.

Merci de votre aide
bonne journée

@+ Manu

4 réponses

cs_JMO
Messages postés
1854
Date d'inscription
jeudi 23 mai 2002
Statut
Membre
Dernière intervention
24 juin 2018
26
28 oct. 2010 à 10:54
 Bonjour,

Effectivement, la syntaxe ":" n'existe pas en vbs.
objExcel.Range("A3:H341").Select
objExcel.Range("A3:H341").Sort objExcel.range("A3"),1 '1 pour xlAscending


jean-marc
0
Breizhmanu22
Messages postés
4
Date d'inscription
jeudi 28 octobre 2010
Statut
Membre
Dernière intervention
2 décembre 2010

28 oct. 2010 à 11:09
Merci Jean-Marc,
ça fonctionne parfaitement.

Je vais juste avoir 2 petites questions complémentaires :
1. Comment prendre en compte les en-têtes?
2. Où trouver toutes les initialisations des variables VBA xlAscending, xlCenter, etc qui doivent être déclarées pour le VBS?

Encore merci de ton aide

@+
M@nu
0
Breizhmanu22
Messages postés
4
Date d'inscription
jeudi 28 octobre 2010
Statut
Membre
Dernière intervention
2 décembre 2010

28 oct. 2010 à 11:29
Une troisième question vient s'ajouter :
Lorsque j'applique un tri sur une colonne c'est OK, mais je souhaite trier mes données sur 3 colonnes. je m'explique :

ColA ColB ColC ColD sont mes quatre colonnes de données. Je souhaite appliquer un tri sur ColB puis ColC (sans perdre l'ordre établi par le tri de ColB...) et enfin sur ColD (toujours en conservant l'ordre établi par le tri de ColB et ColC).

@+
M@nu
0
Breizhmanu22
Messages postés
4
Date d'inscription
jeudi 28 octobre 2010
Statut
Membre
Dernière intervention
2 décembre 2010

2 déc. 2010 à 09:45
Salut,

Je suis toujours à la recherche d'une solution pour appliquer un tri sur un tableau avec des critères sur 3 colonnes (Voir les messages précédents).
Est-ce possible en VBS ou faut-il que je trouve une autre solution?

Merci de votre aide.
Bonne journée

@+
M@nu
0