Petit problème Macro

homernell

XLDnaute Occasionnel
Bjr à tous,

Voilà j'ai crée une macro sur office 2007 que j'ai enregistrer en format 97.
Sauf que qd je l'éxecute, il me marque :
"ActiveWorkbook.Worksheets("Trier").Sort.SortFields.Clear"

Que dois je faire ?

Merci d'avance.
 

ClementMaillioux

XLDnaute Nouveau
Re : Petit problème Macro

Bonjour à tous,

Je me permet de faire avancer le sujet :
La commande de tri que j'utilise pour ces cas-là est celle qui était anciennement utilisée par Excel :
- D'abord on sélectionne ce qu'on veut trier avec la commande "Range("XX:XX")" et ensuite on utilise le code suivant :
Code:
Selection.Sort Key1:=Range("B1"), Order1:=xlAscending, Key2:=Range("A1"), Order2:=xlAscending, Header:=xlGuess

Ou les paramètres sont :
Key1, Key2 : représentent les différentes clés de tri.
Order1, Order2 : représentent le sens de tri pour les clés (xlAscending = ordre croissant / xlDescending = ordre décroissant)
Header : représente le fait qu'il y ait ou pas d'en-tête à la sélection (xlYes = présence d'une en-tête, xlNo = en-tête absente, xlGuess = Excel devine tout seul la présence d'une en-tête.)


Avec ca, ça doit marcher impeccable.
Cordialement,
 

homernell

XLDnaute Occasionnel
Re : Petit problème Macro

Je te remercie de cette réponse très construite, j'ai surement du oublier de préciser que ct ma toute première macro.

Donc j'ai bien compris ton mess mais le language VB m'est encore lointain.

Pour ne pas abuser j'aimerai savoir ce que je dois mettre à la place ou corriger.

Encore Merci.
 

ClementMaillioux

XLDnaute Nouveau
Re : Petit problème Macro

Re,

Vous devez supprimer toutes ces lignes dans votre code, c'est à dire à partir de :
Code:
ActiveWorkbook.Worksheets("Trier").Sort.SortFields.Clear [...]

Jusqu'à la ligne (11 lignes plus bas que la première, je dirais) "End With" inclues :
Code:
[...].Orientation = xlTopToBottom
        .SortMethod = xlPinYin
        .Apply
    End With

Et les remplacer par ce que je vous disais tantôt:
Code:
Selection.Sort Key1:=Range("B1"), Order1:=xlAscending, Key2:=Range("A1"), Order2:=xlAscending, Header:=xlGuess
En modifiant les paramètres à votre goût.

En espérant avoir été suffisamment clair pour être compris,
 

Discussions similaires

Statistiques des forums

Discussions
312 504
Messages
2 089 085
Membres
104 023
dernier inscrit
zerarka mohamed