Compatibilité Macro Excel 2007 à utiliser sur Excel 2003 !!

gillessimon

XLDnaute Nouveau
Bonjour,

j'utilise Excel 2007 et ai fais une petite macro qui fonctionne correctement mais qui provoque une erreur 1004 lors de son utilisation dans Excel 2003
Je sais qu'il n'y a pas de compatibilité descendante sur toutes les fonctions, en particulier celles utilisant le ribbon de 2007, je dois donc trouver les bonnes instructions pour Excel 2003 que je n'ai pas.

Pourriez-vous m'aider à identifier ce qui bloque et me donner une solution pour la bonne syntaxe compatible Excel 2003?
D'avance merci,


Voici la macro

Sheets("Feuil1").Select
Sheets("Feuil1").Sort.SortFields.Clear
Sheets("Feuil1").Sort.SortFields.Add Key:=Range("A1"), _
SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
With Sheets("Feuil1").Sort
.SetRange Range("A1:A500")
.Header = xlNo
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With

Ce n'est rien d'autre qu'une selection de la feuille avec un tri ascendant sur la colonne A

Gilles.
 

JNP

XLDnaute Barbatruc
Re : Compatibilité Macro Excel 2007 à utiliser sur Excel 2003 !!

Bonsoir GillesSimon :),
Ce qui bloque, c'est que 2003 autorisait 3 colonnes de tri alors que 2007 n'est pas limité :p...
Pour 2003, le code devrait être
Code:
Sheets("Feuil1").Columns("A1:A500").Sort Key1:=Range("A1"), Order1:=xlAscending, Header:=xlNo, _
        OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom
Il fonctionne aussi sur 2007, il peux paraître plus court, mais il est limité (comme dit au dessus), à 3 critères.
Bonne soirée :cool:
Edit : Bonsoir Pierrot, pas de quoi être désolé :p
 
Dernière édition:

Pierrot93

XLDnaute Barbatruc
Re : Compatibilité Macro Excel 2007 à utiliser sur Excel 2003 !!

Bonjour Gilles,

sous 2003 "SortFields" n'est pas disponible, il faut procéder comme ceci, à adapter à ton classeur :

Code:
    Range("A1:B10").Sort Key1:=Range("A1"), Order1:=xlAscending, Header:=xlNo, _
        OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, _
        DataOption1:=xlSortNormal

bonne fin d'après midi
@+

Edition : bonjourJNP, désolé pour la collision...
 

gillessimon

XLDnaute Nouveau
Re : Compatibilité Macro Excel 2007 à utiliser sur Excel 2003 !!

Merci beaucoup,

saurais-tu également comment sélectionner les 3 colonnes A B C (sans savoir quel est le nombre de lignes au total) au lieu de ne sélectionner que l'ensemble A1 à B10 dans la formule

Range("A1:B10").Sort Key1:=Range("A1")

Merci par avance,
Gilles.
 

gillessimon

XLDnaute Nouveau
Re : Compatibilité Macro Excel 2007 à utiliser sur Excel 2003 !!

au secours svp, cela ne fonctionne pas !!!! j'ai soit erreur 400, soit la macro s'effectue mais je n'ai pas le tri

je voudrais la macro entière sur la Feuil1 pour faire un tri de la sélection des 3 colonnes (A B C) en mode ascendant (de A à Z) sur la colonne A sachant que je ne connais pas la dernière ligne non vide de la sélection

En d'autres termes, comment dois-je transformer la macro suivante pour qu'elle fonctionne en 2003?

Sheets("Feuil1").Select
Sheets("Feuil1").Sort.SortFields.Clear
Sheets("Feuil1").Sort.SortFields.Add Key:=Range("A1"), _
SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
With Sheets("Feuil1").Sort
.SetRange Range("A1:A500")
.Header = xlNo
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With
 

Paritec

XLDnaute Barbatruc
Re : Compatibilité Macro Excel 2007 à utiliser sur Excel 2003 !!

Bonsoir Gillessimon,
tu ne dois pas lire les réponses!!!!
Pierrot t'a répondu
et moi après !!!!
bonne journée
Papou :)
Code:
Sheets("Feuil1").Range("A1:A500").Sort Key1:=Range("A1"), Order1:=xlAscending, Header:=xlNo, _
        OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, _
        DataOption1:=xlSortNormal
 

JNP

XLDnaute Barbatruc
Re : Compatibilité Macro Excel 2007 à utiliser sur Excel 2003 !!

Re :),
Chez moi, l'adaptation proposée par Papou fonctionne bien
Code:
Sheets("Feuil1").Range("A1:C" & Range("A65000").End(xlUp).Row).Sort Key1:=Range("A1"), Order1:=xlAscending, Header:=xlNo, _
        OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom
Essaie et dis nous :cool:.
 

gillessimon

XLDnaute Nouveau
Re : Compatibilité Macro Excel 2007 à utiliser sur Excel 2003 !!

Bonsoir Gillessimon,
tu ne dois pas lire les réponses!!!!
Pierrot t'a répondu
et moi après !!!!
bonne journée
Papou :)
Code:
Sheets("Feuil1").Range("A1:A500").Sort Key1:=Range("A1"), Order1:=xlAscending, Header:=xlNo, _
        OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, _
        DataOption1:=xlSortNormal

Oh que si je lis bien, cela fait 2 heures que je suis dessus et cela ne fonctionne pas

Erreur 400 à l'execution

et si met

Sheets("Feuil1").Select
Sheets("Feuil1").Range("A1:A500").Sort Key1:=Range("A1"), Order1:=xlAscending, Header:=xlNo, _
OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, _
DataOption1:=xlSortNormal

j'ai erreur 1004

Ma feuil1 n'a que 292 lignes remplies, est-ce à cause de ça?

Je peux envoyer par email mon fichier excel si besoin

Merci
 

Paritec

XLDnaute Barbatruc
Re : Compatibilité Macro Excel 2007 à utiliser sur Excel 2003 !!

Bonsoir Gillessimon,
oui je serais curieux de voir cela car la macro que tu as marche mais bon !!
envoi ton fichier et on regardera cela très attentivement.
a+
papou :)

PS: mets ton fichier sur cjoint et donnes le lien STP
Et pour le nombre de lignes 292 non c'est pas cela le souci
 

Discussions similaires

Statistiques des forums

Discussions
312 837
Messages
2 092 658
Membres
105 482
dernier inscrit
Eric.FKF