OVH Cloud OVH Cloud

Renommer une macro

7 réponses
Avatar
Jepac
Bonsoir,

Je souhaiterai à l'aide d'une macro pouvoir renommer une autre macro

Merci pour aide précieuse.

Jean-Paul

7 réponses

Avatar
Geo

Bonsoir,

Je souhaiterai à l'aide d'une macro pouvoir renommer une autre macro

Merci pour aide précieuse.

Jean-Paul


On vous a dit que vbcomponents permet d'accéder à un module.
On peut évidemment faire une macro qui défile tout le texte de toutes
les macros pour trouver la bonne, mais si vous connaissez le module où
elle se trouve et si elle est unique dans ce module il est évident que
ça simplifie. Sachant que le module peut avoir le nom Auto_open et le
sub s'appeler main, ça marche aussi.

Pi pour éviter de lancer les macros automatiques il y a des solutions,
sans modifier les macros.

--
A+

Avatar
Jepac
Bonsoir Géo,

Dans mon cas c'est le sub qui s'appelle Auto_Open et qui s'ouvre donc
automatiquement lors de l'ouverture du document. Ce document qui est en
fait un immense formulaire avec au moins 100 champs doit-être rempli par
des utilisateurs qui en aucun cas, dans un premier saisir autre chose
que les zones formulaires puis dans un second temps vérouiller tout le
document afin de le faire parvenir à une tierce personne pour impression.

Pour ce faire j'ai donc verrouillé le document (commentaires) avec un
mot de passe MDP1, si l'utilisateur ouvre le document sans activer les
macros le document est verrouillé et inutilisable.

Si l'utilisateur active les macros, la macro sub_auto_open s'exécute,
débloque le document et le reverrouille (formulaire). ainsi
l'utilisateur peut remplir les champs.

Une fois le document rempli l'utilisateur tape sur les touche Alt et V
ce qui exécute une macro qui verrouille (commentaires) le document avec
un autre mot de passe MDP2 ainsi le document peut être envoyé pour
impression seulement.

J'ai peur qu'à l'ouverture du document vérouillé avec le MPD2 cela
génère un bug à l'ouverture, c'est donc pour cela que je souhaite
renommé le sub_auto_open en sub_verrouille.

C'était un peu long et il est vrai que je suis nul en macro et un peu
pressé par le temps.

En vous remerciant par avance
Jean-Paul





Bonsoir,

Je souhaiterai à l'aide d'une macro pouvoir renommer une autre macro

Merci pour aide précieuse.

Jean-Paul


On vous a dit que vbcomponents permet d'accéder à un module.
On peut évidemment faire une macro qui défile tout le texte de toutes
les macros pour trouver la bonne, mais si vous connaissez le module où
elle se trouve et si elle est unique dans ce module il est évident que
ça simplifie. Sachant que le module peut avoir le nom Auto_open et le
sub s'appeler main, ça marche aussi.

Pi pour éviter de lancer les macros automatiques il y a des solutions,
sans modifier les macros.




Avatar
Geo

[...]
J'ai peur qu'à l'ouverture du document vérouillé avec le MPD2 cela génère un bug à
l'ouverture, c'est donc pour cela que je souhaite renommé le sub_auto_open en
sub_verrouille.

C'était un peu long et il est vrai que je suis nul en macro et un peu pressé par le
temps.


Je crois comprendre.
Mais modifier des macros, c'est risqué, j'y ai perdu suffisamment de
temps pour le dire.
Il y a peut-être plus simple.
Vous pourriez passer votre document en lecture seule lors du deuxième
(et dernier verrouillage si j'ai bien compris)
ActiveDocument.ReadOnly = True
et dans votre macro auto_open tester si le fichier est en lecture seule
ainsi :
If ActiveDocument.ReadOnly Then Exit Sub
Ça me parait rapide et sans risque.

C'est une idée, mais on pourrait utiliser une propriété du document,
voire une variable.
Tiens, on pourrait faire utiliser la propriété commentaires pour y
mettre : "État du document" et y mettre des indications comme "Vierge"
"Ouvert en première phase", "Phase 1 terminée", "Verrouillé", "Mise à
feu", ..., et lire ces infos par macro.

--
A+

Avatar
Jepac
Merci beaucoup, je vais essayer demain et je vous reviendrai si j'ai des
soucis.

Merci encore
Jean-Paul


[...]
J'ai peur qu'à l'ouverture du document vérouillé avec le MPD2 cela
génère un bug à l'ouverture, c'est donc pour cela que je souhaite
renommé le sub_auto_open en sub_verrouille.

C'était un peu long et il est vrai que je suis nul en macro et un peu
pressé par le temps.


Je crois comprendre.
Mais modifier des macros, c'est risqué, j'y ai perdu suffisamment de
temps pour le dire.
Il y a peut-être plus simple.
Vous pourriez passer votre document en lecture seule lors du deuxième
(et dernier verrouillage si j'ai bien compris)
ActiveDocument.ReadOnly = True
et dans votre macro auto_open tester si le fichier est en lecture seule
ainsi :
If ActiveDocument.ReadOnly Then Exit Sub
Ça me parait rapide et sans risque.

C'est une idée, mais on pourrait utiliser une propriété du document,
voire une variable.
Tiens, on pourrait faire utiliser la propriété commentaires pour y
mettre : "État du document" et y mettre des indications comme "Vierge"
"Ouvert en première phase", "Phase 1 terminée", "Verrouillé", "Mise à
feu", ..., et lire ces infos par macro.




Avatar
Geo

Merci beaucoup, je vais essayer demain et je vous reviendrai si j'ai des soucis.


Sans problème.
Vous avez bien fait de prendre le temps d'exposer la situation, ça fait
gagner du temps à tous et de la fiabilité à votre solution.

--
A+

Avatar
Anacoluthe
Bonjour !

'Jepac' nous a écrit ...
il est vrai que je suis nul en macro et un peu pressé par le temps.


Vous allez au devant de catastrophes : votre projet de macros
pour des /utilisateurs/ tiers est compliqué, or vous reconnaissez
1) ne pas maîtriser complètement les macros 2) manquer de temps.

Il y a un MONDE entre faire des macros pour SOI afin de se faciliter
le travail et faire des macros pour D'AUTRES utilisateurs
surtout si ces macros peuvent LIMITER l'usage.

Si vous ne voulez pas que vos utilisateurs vous découpent en petits
morceaux ou que votre commanditaire vous scalpe avant la fin du
contrat, trouvez vite une solution SANS macro !!!!!!!

Concernant votre AutoOpen n'oubliez pas que n'importe quel
utilisateur ayant pourtant ses macros activées peut REFUSER
l'exécution des macros automatiques en gardant la touche
MAJ appuyée. S'il vous plaît ne nous demandez pas comment
interdire aussi à l'utilisateur de refuser AutoOpen :-P ))

Anacoluthe
« Le principal est de débuter. »
- Georges Charles HUYSMANS

Avatar
Geo

trouvez vite une solution SANS macro !!!!!!!


Débrancher l'ordinateur ?

Je -> []

--
A+