Compatibilité vers Excel 2003

Bonjour à tous,

voici mon problème :

j'ai créé un document sur excel 2007 avec macro et notamment un tri avant une exportation.

Lors de l'utilisation sur un PC avec excel 2003, la macro plante et indique l'erreur sur ces lignes :

Sub trier()

'

' trier Macro

'

'

Range("B3:C34").Select

ActiveWorkbook.Worksheets("Facultatif").Sort.SortFields.Clear

ActiveWorkbook.Worksheets("Facultatif").Sort.SortFields.Add Key:=Range( _

"C3:C34"), SortOn:=xlSortOnValues, Order:=xlDescending, DataOption:= _

xlSortNormal

With ActiveWorkbook.Worksheets("Facultatif").Sort

.SetRange Range("B3:C34")

.Header = xlGuess

.MatchCase = False

.Orientation = xlTopToBottom

.SortMethod = xlPinYin

.Apply

End With

MsgBox ("Voici la liste triée par niveau. Pour l'exporter dans le tableau, cliquez sur GENERER LE TABLEAU.")

Range("A3").Select

End Sub

Je n'ai pas excel 2003 à la maison, je n'ai pas pu faire la manip en enregistrant la macro.

Si une bonne âme peut prendre le temps de regarder de plus près...

Merci par avance.

Dans le fichier joint, le code est sur le module 1 Sub recopie et sur le module 5 Sub trier

JB

Bonjour

Remplaces cette partie de la macro

    ActiveWorkbook.Worksheets("Facultatif").Sort.SortFields.Clear
    ActiveWorkbook.Worksheets("Facultatif").Sort.SortFields.Add Key:=Range( _
        "C3:C34"), SortOn:=xlSortOnValues, Order:=xlDescending, DataOption:= _
        xlSortNormal
    With ActiveWorkbook.Worksheets("Facultatif").Sort
        .SetRange Range("B2:C34")
        .header = xlYes
        .MatchCase = False
        .Orientation = xlTopToBottom
        .SortMethod = xlPinYin
        .Apply
    End With

par

Range("B3:C34").Sort key1:=Range("C3"), order1:=xlDescending, dataoption1:=xlSortNormal, header:=xlNo

Bonjour le forum, Banzai

J'ai remplacé la partie de code par ce que tu me conseilles.

Je teste sur Excel 2007, ça devrait fonctionner ou ça ne peut fonctionner que sur Excel 2003 ?

En tout cas, ça me renvoie une erreur 1004 : La méthode Sort de la classe Range a échoué.

Voici le code transformé :

Sub trier()

'

' trier Macro

'

'

Range("B3:C34").Select

Range("B3:C34").Sort key1:=Range("C3"), order1:=xlDescending, dataoption1:=xlSortNormal, Header:=xlNo

MsgBox ("Voici la liste triée par niveau. Pour l'exporter dans le tableau, cliquez sur GENERER LE TABLEAU.")

Range("A3").Select

End Sub

Merci.

Bonjour

Normalement le code est bon

Ta page est bien déprotégée ?

Bonjour

J'ai essayé en déprotégeant la feuille

ca me renvoie la même erreur

Je vois pas d'où peut venir le pb.

Bonjour

Je viens de tester et pas d'erreur

Envoies ton fichier avec l'erreur

Merci Banzai

c'était bien la protection de la feuille qui posait problème, une autre macro me la re-protège et je ne l'avais pas désactivé.

Ca fonctionne maintenant avec Excel 2007, je teste lundi avec un PC sur Excel 2003.

Merci bcp.

Bon we

JB

Rechercher des sujets similaires à "compatibilite 2003"