OVH Cloud OVH Cloud

Macro en réseau

5 réponses
Avatar
André Riberi
Bonjour,
Soit un fichier situé sur un lecteur réseau utilisé par plusieurs personnes.
J'ai créé une macro pour trier la feuille:

Cells.Select
Selection.Sort Key1:=Range("F2"), Order1:=xlAscending, Key2:=Range("B2")
_
, Order2:=xlAscending, Key3:=Range("A2"), Order3:=xlAscending,
Header:= _
xlGuess, OrderCustom:=1, MatchCase:=False,
Orientation:=xlTopToBottom, _
DataOption1:=xlSortNormal, DataOption2:=xlSortNormal, DataOption3:=
_
xlSortNormal
Range("A2").Select

Tout fonctionne bien sur mon ordi, la macro s'exécute
Sur l'autre ordi, la macro provoque une "erreur d'exécution 1004":
Erreur définie par l'application ou par l'objet.
J'ai essayé plusieurs choses:
- créer des boutons sur la feuille pour commander la macro,
- faire exécuter la macro à partir d'une autre feuille "macros" qui s'ouvre
en même temps que la première
sans succès
Les deux Excel sont en 2000
Je m'en remets à une bonne âme!
merci

--
André

5 réponses

Avatar
RCR
Hello,

1) Un petit coup de F5 pour savoir ou plante ton appli
2) Avant de faire un cells.select n'oublie pas de séléctionné le classeur et
la feuille dans la quel tu travail (Si un utilisateur à plusieurs classeur
ouvert, commant ta macro saurra sous le quel elle doit travailler)

(Pour rappel: VBA Travail dans l'environnement excel, si 2 classeurs sont
ouvert, les macro serront disponible pour touts les classeurs ouvert...)

A+
Raphaël


"André Riberi" a écrit dans le message de news:
44a0fbf7$0$6186$
Bonjour,
Soit un fichier situé sur un lecteur réseau utilisé par plusieurs
personnes.
J'ai créé une macro pour trier la feuille:

Cells.Select
Selection.Sort Key1:=Range("F2"), Order1:=xlAscending,
Key2:=Range("B2") _
, Order2:=xlAscending, Key3:=Range("A2"), Order3:=xlAscending,
Header:= _
xlGuess, OrderCustom:=1, MatchCase:úlse,
Orientation:=xlTopToBottom, _
DataOption1:=xlSortNormal, DataOption2:=xlSortNormal, DataOption3:=
_
xlSortNormal
Range("A2").Select

Tout fonctionne bien sur mon ordi, la macro s'exécute
Sur l'autre ordi, la macro provoque une "erreur d'exécution 1004":
Erreur définie par l'application ou par l'objet.
J'ai essayé plusieurs choses:
- créer des boutons sur la feuille pour commander la macro,
- faire exécuter la macro à partir d'une autre feuille "macros" qui
s'ouvre en même temps que la première
sans succès
Les deux Excel sont en 2000
Je m'en remets à une bonne âme!
merci

--
André



Avatar
André Riberi
L'appli plante juste après Cells .select: les cellules sont sélectionnées,
(donc c'est la bonne feuille qui est active)et la macro s'arrête. le
débogage me surligne en jaune tout le reste de la macro)
J'ai d'ailleurs tenté de rajouter au début l'activation de la feuille comme
tu me le suggères, mais ça ne change rien...

--
André Riberi
DD adjoint UNSS34
04.67.63.89.41
O6.81.10.15.28

"RCR" a écrit dans le message de news:
u7eP3%
Hello,

1) Un petit coup de F5 pour savoir ou plante ton appli
2) Avant de faire un cells.select n'oublie pas de séléctionné le classeur
et la feuille dans la quel tu travail (Si un utilisateur à plusieurs
classeur ouvert, commant ta macro saurra sous le quel elle doit
travailler)

(Pour rappel: VBA Travail dans l'environnement excel, si 2 classeurs sont
ouvert, les macro serront disponible pour touts les classeurs ouvert...)

A+
Raphaël


"André Riberi" a écrit dans le message de news:
44a0fbf7$0$6186$
Bonjour,
Soit un fichier situé sur un lecteur réseau utilisé par plusieurs
personnes.
J'ai créé une macro pour trier la feuille:

Cells.Select
Selection.Sort Key1:=Range("F2"), Order1:=xlAscending,
Key2:=Range("B2") _
, Order2:=xlAscending, Key3:=Range("A2"), Order3:=xlAscending,
Header:= _
xlGuess, OrderCustom:=1, MatchCase:úlse,
Orientation:=xlTopToBottom, _
DataOption1:=xlSortNormal, DataOption2:=xlSortNormal,
DataOption3:= _
xlSortNormal
Range("A2").Select

Tout fonctionne bien sur mon ordi, la macro s'exécute
Sur l'autre ordi, la macro provoque une "erreur d'exécution 1004":
Erreur définie par l'application ou par l'objet.
J'ai essayé plusieurs choses:
- créer des boutons sur la feuille pour commander la macro,
- faire exécuter la macro à partir d'une autre feuille "macros" qui
s'ouvre en même temps que la première
sans succès
Les deux Excel sont en 2000
Je m'en remets à une bonne âme!
merci

--
André







Avatar
RCR
1004 pour moi c'est un problème de métode qui s'éxecute sur queque chose qui
n'existe pas ou qui ne peut ce faire.
essai soit de mettre un OnError Resume Next ou alors essai de faire ça:

'--------------------------------------------------------------------------------------------------------------
Worksheets("TaFeuille").Range("TaRange").Sort
Key1:=Worksheets("TaFeuille").Range("TaRange"), ...ect...
'--------------------------------------------------------------------------------------------------------------

certaine métodes ne supporte pas d'être fait avec l'obect selection (en tous
cas c'est ce qu'ils conseil dans l'aide).

ensuite avec un peut d'imagination, de with et des variables tu devrais
arrivé à allèger ton code.
de toutes façon je te conseil ce genre d'écriture qui te permet de parer à
toutes les éventualitée (le petit malin qui ouvre un 2eme classeur en plaine
execution par ex.).
n'hésite pas non plus à multiplier les gestions d'erreurs parce que "Erreur
d'execution 1004" c'est déja pas évident pour toi alors imagine pour test
Utilisateurs !!!

tien moi au courrant.

A+
Raphaël.

"André Riberi" a écrit dans le message de news:
44a103cb$0$1185$
L'appli plante juste après Cells .select: les cellules sont sélectionnées,
(donc c'est la bonne feuille qui est active)et la macro s'arrête. le
débogage me surligne en jaune tout le reste de la macro)
J'ai d'ailleurs tenté de rajouter au début l'activation de la feuille
comme tu me le suggères, mais ça ne change rien...

--
André Riberi
DD adjoint UNSS34
04.67.63.89.41
O6.81.10.15.28

"RCR" a écrit dans le message de news:
u7eP3%
Hello,

1) Un petit coup de F5 pour savoir ou plante ton appli
2) Avant de faire un cells.select n'oublie pas de séléctionné le classeur
et la feuille dans la quel tu travail (Si un utilisateur à plusieurs
classeur ouvert, commant ta macro saurra sous le quel elle doit
travailler)

(Pour rappel: VBA Travail dans l'environnement excel, si 2 classeurs sont
ouvert, les macro serront disponible pour touts les classeurs ouvert...)

A+
Raphaël


"André Riberi" a écrit dans le message de news:
44a0fbf7$0$6186$
Bonjour,
Soit un fichier situé sur un lecteur réseau utilisé par plusieurs
personnes.
J'ai créé une macro pour trier la feuille:

Cells.Select
Selection.Sort Key1:=Range("F2"), Order1:=xlAscending,
Key2:=Range("B2") _
, Order2:=xlAscending, Key3:=Range("A2"), Order3:=xlAscending,
Header:= _
xlGuess, OrderCustom:=1, MatchCase:úlse,
Orientation:=xlTopToBottom, _
DataOption1:=xlSortNormal, DataOption2:=xlSortNormal,
DataOption3:= _
xlSortNormal
Range("A2").Select

Tout fonctionne bien sur mon ordi, la macro s'exécute
Sur l'autre ordi, la macro provoque une "erreur d'exécution 1004":
Erreur définie par l'application ou par l'objet.
J'ai essayé plusieurs choses:
- créer des boutons sur la feuille pour commander la macro,
- faire exécuter la macro à partir d'une autre feuille "macros" qui
s'ouvre en même temps que la première
sans succès
Les deux Excel sont en 2000
Je m'en remets à une bonne âme!
merci

--
André











Avatar
André Riberi
Merci de ton aide, RCR, mais j'ai un petit problème de syntaxe pour écrire
ta proposition:
Ma feuille s'appelant saisie et j'ai nommé la zone de tri "liste" J'écris:
Worksheets("Saisie").Range("liste").Sort
Key1:=Worksheets("Saisie").Range("F2")

Mais il semble que l'articulation entre Sort et Key ne soit pas bien
écrite...
Erreur de compilation: attendu expression

--
"RCR" a écrit dans le message de news:
%
1004 pour moi c'est un problème de métode qui s'éxecute sur queque chose
qui n'existe pas ou qui ne peut ce faire.
essai soit de mettre un OnError Resume Next ou alors essai de faire ça:

'--------------------------------------------------------------------------------------------------------------
Worksheets("TaFeuille").Range("TaRange").Sort
Key1:=Worksheets("TaFeuille").Range("TaRange"), ...ect...
'--------------------------------------------------------------------------------------------------------------

certaine métodes ne supporte pas d'être fait avec l'obect selection (en
tous cas c'est ce qu'ils conseil dans l'aide).

ensuite avec un peut d'imagination, de with et des variables tu devrais
arrivé à allèger ton code.
de toutes façon je te conseil ce genre d'écriture qui te permet de parer à
toutes les éventualitée (le petit malin qui ouvre un 2eme classeur en
plaine execution par ex.).
n'hésite pas non plus à multiplier les gestions d'erreurs parce que
"Erreur d'execution 1004" c'est déja pas évident pour toi alors imagine
pour test Utilisateurs !!!

tien moi au courrant.

A+
Raphaël.

"André Riberi" a écrit dans le message de news:
44a103cb$0$1185$
L'appli plante juste après Cells .select: les cellules sont
sélectionnées, (donc c'est la bonne feuille qui est active)et la macro
s'arrête. le débogage me surligne en jaune tout le reste de la macro)
J'ai d'ailleurs tenté de rajouter au début l'activation de la feuille
comme tu me le suggères, mais ça ne change rien...

--
André Riberi
DD adjoint UNSS34
04.67.63.89.41
O6.81.10.15.28

"RCR" a écrit dans le message de news:
u7eP3%
Hello,

1) Un petit coup de F5 pour savoir ou plante ton appli
2) Avant de faire un cells.select n'oublie pas de séléctionné le
classeur et la feuille dans la quel tu travail (Si un utilisateur à
plusieurs classeur ouvert, commant ta macro saurra sous le quel elle
doit travailler)

(Pour rappel: VBA Travail dans l'environnement excel, si 2 classeurs
sont ouvert, les macro serront disponible pour touts les classeurs
ouvert...)

A+
Raphaël


"André Riberi" a écrit dans le message de news:
44a0fbf7$0$6186$
Bonjour,
Soit un fichier situé sur un lecteur réseau utilisé par plusieurs
personnes.
J'ai créé une macro pour trier la feuille:

Cells.Select
Selection.Sort Key1:=Range("F2"), Order1:=xlAscending,
Key2:=Range("B2") _
, Order2:=xlAscending, Key3:=Range("A2"), Order3:=xlAscending,
Header:= _
xlGuess, OrderCustom:=1, MatchCase:úlse,
Orientation:=xlTopToBottom, _
DataOption1:=xlSortNormal, DataOption2:=xlSortNormal,
DataOption3:= _
xlSortNormal
Range("A2").Select

Tout fonctionne bien sur mon ordi, la macro s'exécute
Sur l'autre ordi, la macro provoque une "erreur d'exécution 1004":
Erreur définie par l'application ou par l'objet.
J'ai essayé plusieurs choses:
- créer des boutons sur la feuille pour commander la macro,
- faire exécuter la macro à partir d'une autre feuille "macros" qui
s'ouvre en même temps que la première
sans succès
Les deux Excel sont en 2000
Je m'en remets à une bonne âme!
merci

--
André















Avatar
RCR
Re,
Je ne suis pas sur pour ta selection Range("liste") moi je n'utilise jamais
je préfère savoir ou je vais Range("A1:G41").

essai par aquit de consiance de faire un Range("liste").select et regarde ce
qui est selectionné ...

Pour le "Erreur de compilation: attendu expression" tu touche à la fin ...
c'est une histoire de "," ou de "=" ... juste pour rigolé essai de mettre
ton expression sort complette derrière un "=" ...

Ex.: tmp=Worksheets("Saisie").Range("liste").Sort ... ect ...

A+
Raphael.

"André Riberi" a écrit dans le message de news:
44a14ef4$0$2670$
Merci de ton aide, RCR, mais j'ai un petit problème de syntaxe pour écrire
ta proposition:
Ma feuille s'appelant saisie et j'ai nommé la zone de tri "liste" J'écris:
Worksheets("Saisie").Range("liste").Sort
Key1:=Worksheets("Saisie").Range("F2")

Mais il semble que l'articulation entre Sort et Key ne soit pas bien
écrite...
Erreur de compilation: attendu expression

--
"RCR" a écrit dans le message de news:
%
1004 pour moi c'est un problème de métode qui s'éxecute sur queque chose
qui n'existe pas ou qui ne peut ce faire.
essai soit de mettre un OnError Resume Next ou alors essai de faire ça:

'--------------------------------------------------------------------------------------------------------------
Worksheets("TaFeuille").Range("TaRange").Sort
Key1:=Worksheets("TaFeuille").Range("TaRange"), ...ect...
'--------------------------------------------------------------------------------------------------------------

certaine métodes ne supporte pas d'être fait avec l'obect selection (en
tous cas c'est ce qu'ils conseil dans l'aide).

ensuite avec un peut d'imagination, de with et des variables tu devrais
arrivé à allèger ton code.
de toutes façon je te conseil ce genre d'écriture qui te permet de parer
à toutes les éventualitée (le petit malin qui ouvre un 2eme classeur en
plaine execution par ex.).
n'hésite pas non plus à multiplier les gestions d'erreurs parce que
"Erreur d'execution 1004" c'est déja pas évident pour toi alors imagine
pour test Utilisateurs !!!

tien moi au courrant.

A+
Raphaël.

"André Riberi" a écrit dans le message de news:
44a103cb$0$1185$
L'appli plante juste après Cells .select: les cellules sont
sélectionnées, (donc c'est la bonne feuille qui est active)et la macro
s'arrête. le débogage me surligne en jaune tout le reste de la macro)
J'ai d'ailleurs tenté de rajouter au début l'activation de la feuille
comme tu me le suggères, mais ça ne change rien...

--
André Riberi
DD adjoint UNSS34
04.67.63.89.41
O6.81.10.15.28

"RCR" a écrit dans le message de news:
u7eP3%
Hello,

1) Un petit coup de F5 pour savoir ou plante ton appli
2) Avant de faire un cells.select n'oublie pas de séléctionné le
classeur et la feuille dans la quel tu travail (Si un utilisateur à
plusieurs classeur ouvert, commant ta macro saurra sous le quel elle
doit travailler)

(Pour rappel: VBA Travail dans l'environnement excel, si 2 classeurs
sont ouvert, les macro serront disponible pour touts les classeurs
ouvert...)

A+
Raphaël


"André Riberi" a écrit dans le message de news:
44a0fbf7$0$6186$
Bonjour,
Soit un fichier situé sur un lecteur réseau utilisé par plusieurs
personnes.
J'ai créé une macro pour trier la feuille:

Cells.Select
Selection.Sort Key1:=Range("F2"), Order1:=xlAscending,
Key2:=Range("B2") _
, Order2:=xlAscending, Key3:=Range("A2"), Order3:=xlAscending,
Header:= _
xlGuess, OrderCustom:=1, MatchCase:úlse,
Orientation:=xlTopToBottom, _
DataOption1:=xlSortNormal, DataOption2:=xlSortNormal,
DataOption3:= _
xlSortNormal
Range("A2").Select

Tout fonctionne bien sur mon ordi, la macro s'exécute
Sur l'autre ordi, la macro provoque une "erreur d'exécution 1004":
Erreur définie par l'application ou par l'objet.
J'ai essayé plusieurs choses:
- créer des boutons sur la feuille pour commander la macro,
- faire exécuter la macro à partir d'une autre feuille "macros" qui
s'ouvre en même temps que la première
sans succès
Les deux Excel sont en 2000
Je m'en remets à une bonne âme!
merci

--
André