Tri dans Macro

Le
Francis
Bonjour,

J'ai besoin de vos lumières :

J'ai un fichier EXCEL qui contient une macro.

Cette macro ouvre un autre fichier Excel par l'instruction :
Workbooks.Open FileName:="C:DatasSTAXCL.xls"
puis formate les colonnes, les lignes et ma foi, tout ça, ça marche bien.

Maintenant, je souhaite faire du tri, et là je sèche !

J'utilise les intructions suivantes :

ActiveWorkbook.Worksheets("STAXCL").Sort.SortFields.Clear
ActiveWorkbook.Worksheets("STAXCL").Sort.SortFields.Add
Key:=Range("I2:I20") _
, SortOn:=xlSortOnValues, Order:=xlDescending,
DataOption:=xlSortNormal
With ActiveWorkbook.Worksheets("STAXCL").Sort
.SetRange Range("A2:M20")
.Header = xlGuess
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With


Et j'ai le message d'erreur suivant :

Microsoft Visual Basic
Erreur d'exécution '438':
Propriété ou méthode non géré par cet objet


Quelqu'un peut-il m'aider ?

Merci,
Francis
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Brunos
Le #5134101
Bonjour Francis,
Ca a l'air correct pourtant.
C'est peut-être un problème de version. Tu devrais essayer en supprimant la
ligne Header = xlGuess
Brunos


"Francis" up9x$
Bonjour,

J'ai besoin de vos lumières :

J'ai un fichier EXCEL qui contient une macro.

Cette macro ouvre un autre fichier Excel par l'instruction :
Workbooks.Open FileName:="C:DatasSTAXCL.xls"
puis formate les colonnes, les lignes et ma foi, tout ça, ça marche bien.

Maintenant, je souhaite faire du tri, et là je sèche !

J'utilise les intructions suivantes :

ActiveWorkbook.Worksheets("STAXCL").Sort.SortFields.Clear
ActiveWorkbook.Worksheets("STAXCL").Sort.SortFields.Add
Key:=Range("I2:I20") _
, SortOn:=xlSortOnValues, Order:=xlDescending,
DataOption:=xlSortNormal
With ActiveWorkbook.Worksheets("STAXCL").Sort
.SetRange Range("A2:M20")
.Header = xlGuess
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With


Et j'ai le message d'erreur suivant :

Microsoft Visual Basic
Erreur d'exécution '438':
Propriété ou méthode non géré par cet objet


Quelqu'un peut-il m'aider ?

Merci,
Francis







Francis
Le #5134081
Bonjour Brunos,

Tout d'abord, merci de te pencher sur mon cas ;-)

J'ai essayé en supprimant cette ligne : toujours le même message !

Quand je clic sur "Débogage", l'instruction en erreur est :
ActiveWorkbook.Worksheets("STAXCL").Sort.SortFields.Clear

Arghhh

Francis


"Brunos"
Bonjour Francis,
Ca a l'air correct pourtant.
C'est peut-être un problème de version. Tu devrais essayer en supprimant
la ligne Header = xlGuess
Brunos


"Francis" up9x$
Bonjour,

J'ai besoin de vos lumières :

J'ai un fichier EXCEL qui contient une macro.

Cette macro ouvre un autre fichier Excel par l'instruction :
Workbooks.Open FileName:="C:DatasSTAXCL.xls"
puis formate les colonnes, les lignes et ma foi, tout ça, ça marche bien.

Maintenant, je souhaite faire du tri, et là je sèche !

J'utilise les intructions suivantes :

ActiveWorkbook.Worksheets("STAXCL").Sort.SortFields.Clear
ActiveWorkbook.Worksheets("STAXCL").Sort.SortFields.Add
Key:=Range("I2:I20") _
, SortOn:=xlSortOnValues, Order:=xlDescending,
DataOption:=xlSortNormal
With ActiveWorkbook.Worksheets("STAXCL").Sort
.SetRange Range("A2:M20")
.Header = xlGuess
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With


Et j'ai le message d'erreur suivant :

Microsoft Visual Basic
Erreur d'exécution '438':
Propriété ou méthode non géré par cet objet


Quelqu'un peut-il m'aider ?

Merci,
Francis











Brunos
Le #5131881
1. Quelle version d'Excel utilises-tu ? Quelle est la version du fichier ?
2. Enregistreur macro : enregistre un tri avec ta version et compare le
code.
Brunos

"Francis" uC$
Bonjour Brunos,

Tout d'abord, merci de te pencher sur mon cas ;-)

J'ai essayé en supprimant cette ligne : toujours le même message !

Quand je clic sur "Débogage", l'instruction en erreur est :
ActiveWorkbook.Worksheets("STAXCL").Sort.SortFields.Clear

Arghhh

Francis


"Brunos"
Bonjour Francis,
Ca a l'air correct pourtant.
C'est peut-être un problème de version. Tu devrais essayer en supprimant
la ligne Header = xlGuess
Brunos


"Francis" up9x$
Bonjour,

J'ai besoin de vos lumières :

J'ai un fichier EXCEL qui contient une macro.

Cette macro ouvre un autre fichier Excel par l'instruction :
Workbooks.Open FileName:="C:DatasSTAXCL.xls"
puis formate les colonnes, les lignes et ma foi, tout ça, ça marche
bien.

Maintenant, je souhaite faire du tri, et là je sèche !

J'utilise les intructions suivantes :

ActiveWorkbook.Worksheets("STAXCL").Sort.SortFields.Clear
ActiveWorkbook.Worksheets("STAXCL").Sort.SortFields.Add
Key:=Range("I2:I20") _
, SortOn:=xlSortOnValues, Order:=xlDescending,
DataOption:=xlSortNormal
With ActiveWorkbook.Worksheets("STAXCL").Sort
.SetRange Range("A2:M20")
.Header = xlGuess
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With


Et j'ai le message d'erreur suivant :

Microsoft Visual Basic
Erreur d'exécution '438':
Propriété ou méthode non géré par cet objet


Quelqu'un peut-il m'aider ?

Merci,
Francis















Francis
Le #5131851
1. Quelle version d'Excel utilises-tu ?


Excel 2003

Quelle est la version du fichier ?


Fichier de données provient d'un AS400 via client acces en format BIFF8 (MS
Excel 8)
D'habitude : jamais aucun de problème.

2. Enregistreur macro : enregistre un tri avec ta version et compare le
code.


C'est la méthode que j'ai employé pour contituer ma macro
(et que j'emplois toujours, n'étant pas du tout un virtuose de VB)


Francis

Brunos
Le #5131551
Je ne vois pas...
Le fichier est enregistré en version 2003 ?
Tu mettre une copie sur http://cjoint.com/ pour qu'on puisse tester.
Bruno

"Francis" %
1. Quelle version d'Excel utilises-tu ?


Excel 2003

Quelle est la version du fichier ?


Fichier de données provient d'un AS400 via client acces en format BIFF8
(MS Excel 8)
D'habitude : jamais aucun de problème.

2. Enregistreur macro : enregistre un tri avec ta version et compare le
code.


C'est la méthode que j'ai employé pour contituer ma macro
(et que j'emplois toujours, n'étant pas du tout un virtuose de VB)


Francis




Francis
Le #5131111
Bonjour Brunos,

Merci pour ta proposition.
Je me constitue 2 fichiers et les placerai sur le site "cjoint" (je pense
demain matin).

Francis


"Brunos"
Je ne vois pas...
Le fichier est enregistré en version 2003 ?
Tu mettre une copie sur http://cjoint.com/ pour qu'on puisse tester.
Bruno

"Francis" %
1. Quelle version d'Excel utilises-tu ?


Excel 2003

Quelle est la version du fichier ?


Fichier de données provient d'un AS400 via client acces en format BIFF8
(MS Excel 8)
D'habitude : jamais aucun de problème.

2. Enregistreur macro : enregistre un tri avec ta version et compare le
code.


C'est la méthode que j'ai employé pour contituer ma macro
(et que j'emplois toujours, n'étant pas du tout un virtuose de VB)


Francis








Francis
Le #5293121
J'ai trouvé ;-)))))

Il manquait en fait l'instruction Range("A2:M20").Select en première ligne.

Merci encore Brunos pour ton aide.

Cordialement,
Francis



"Brunos"
Je ne vois pas...
Le fichier est enregistré en version 2003 ?
Tu mettre une copie sur http://cjoint.com/ pour qu'on puisse tester.
Bruno




Publicité
Poster une réponse
Anonyme