OVH Cloud OVH Cloud

Marco dans un formulaire verrouillé?

6 réponses
Avatar
Apa57
Bonjour,
j'aurais besoin de faire exécuter une macro (numérotation) dans un champ
d'un formulaire qui est verrouillé mais j'obtiens le message
(Erreur d'exécution '4605' Cette méthode ou propriété n'est pas disponible
car l'objet fait référence à une zone protégée d'un document.)
P.S la macro fonctionne dans un document non verrouillé.
Merci

6 réponses

Avatar
Circé
Bonsoir,

Ça me paraît logique, non?
Si le document est verrouillé, la macro ne peut pas fonctionner....

Il faut donc que tu incorpores dans ta macro un déverrouillage de
document, puis un reverrouillage à la fin.

Circé
http://faqword.free.fr

Apa57 avait prétendu :
Bonjour,
j'aurais besoin de faire exécuter une macro (numérotation) dans un
champ d'un formulaire qui est verrouillé mais j'obtiens le message
(Erreur d'exécution '4605' Cette méthode ou propriété n'est pas
disponible car l'objet fait référence à une zone protégée d'un
document.) P.S la macro fonctionne dans un document non verrouillé.
Merci


Avatar
Apa57
Bonsoir Circé,
Tu as raison mais je ne sais pas comment créer cette macro.
J'ai essayé de la créée en mode enregistrement mais quand je clique sur le
cadenas de la barre d'outil formulaire la macro s'arrête. Y-a-t-il quelqu'un
connait les lignes de commande à insérer pour exécuter cette commande?

Merci


Bonsoir,

Ça me paraît logique, non?
Si le document est verrouillé, la macro ne peut pas fonctionner....

Il faut donc que tu incorpores dans ta macro un déverrouillage de
document, puis un reverrouillage à la fin.

Circé
http://faqword.free.fr

Apa57 avait prétendu :
Bonjour,
j'aurais besoin de faire exécuter une macro (numérotation) dans un
champ d'un formulaire qui est verrouillé mais j'obtiens le message
(Erreur d'exécution '4605' Cette méthode ou propriété n'est pas
disponible car l'objet fait référence à une zone protégée d'un
document.) P.S la macro fonctionne dans un document non verrouillé.
Merci







Avatar
Circé
Bonsoir,

Pour déverrouiller :
ActiveDocument.Unprotect Password:="toto"

Pour protéger (sans réinitialiser les champs déjà remplis) :

ActiveDocument.Protect Type:=wdAllowOnlyFormFields, Password:="toto",
NoReset:=True

Circé
http://faqword.free.fr




Apa57 a exprimé avec précision :
Bonsoir Circé,
Tu as raison mais je ne sais pas comment créer cette macro.
J'ai essayé de la créée en mode enregistrement mais quand je clique
sur le cadenas de la barre d'outil formulaire la macro s'arrête.
Y-a-t-il quelqu'un connait les lignes de commande à insérer pour
exécuter cette commande?

Merci


Bonsoir,

Ça me paraît logique, non?
Si le document est verrouillé, la macro ne peut pas fonctionner....

Il faut donc que tu incorpores dans ta macro un déverrouillage de
document, puis un reverrouillage à la fin.

Circé
http://faqword.free.fr

Apa57 avait prétendu :
Bonjour,
j'aurais besoin de faire exécuter une macro (numérotation) dans un
champ d'un formulaire qui est verrouillé mais j'obtiens le message
(Erreur d'exécution '4605' Cette méthode ou propriété n'est pas
disponible car l'objet fait référence à une zone protégée d'un
document.) P.S la macro fonctionne dans un document non verrouillé.
Merci









Avatar
Apa57
Bonsoir Circé,
merci pour l'info. J'ai apporté un modification sur la dernière ligne pour
que ça fonctionne correctement. La macro donne ceci:
Sub AutoNew()
'
' AutoNew Macro
' Macro créée le 2005-09-03 grace aux connaisseurs du web
'
ActiveDocument.Unprotect Password:=""
num = ActiveDocument.AttachedTemplate.AutoTextEntries("numéro").Value
num = num + 1
ActiveDocument.AttachedTemplate.AutoTextEntries("numéro").Value = num
Selection.TypeText Text:="" & num
ActiveDocument.Protect Password:="", NoReset:=True, Type:= _
wdAllowOnlyFormFields
End Sub

Il reste cependant un dernier problème, la macro ne s'exécute pas au bon
endroit dans le document. Elle s'exécute dans le premier champs formulaire du
document alors que je voudrais qu'elle s'exécute dans le champs 8.
Encore merci pour ton aide


Bonsoir,

Pour déverrouiller :
ActiveDocument.Unprotect Password:="toto"

Pour protéger (sans réinitialiser les champs déjà remplis) :

ActiveDocument.Protect Type:=wdAllowOnlyFormFields, Password:="toto",
NoReset:=True

Circé
http://faqword.free.fr




Apa57 a exprimé avec précision :
Bonsoir Circé,
Tu as raison mais je ne sais pas comment créer cette macro.
J'ai essayé de la créée en mode enregistrement mais quand je clique
sur le cadenas de la barre d'outil formulaire la macro s'arrête.
Y-a-t-il quelqu'un connait les lignes de commande à insérer pour
exécuter cette commande?

Merci



Bonsoir,

Ça me paraît logique, non?
Si le document est verrouillé, la macro ne peut pas fonctionner....

Il faut donc que tu incorpores dans ta macro un déverrouillage de
document, puis un reverrouillage à la fin.

Circé
http://faqword.free.fr

Apa57 avait prétendu :
Bonjour,
j'aurais besoin de faire exécuter une macro (numérotation) dans un
champ d'un formulaire qui est verrouillé mais j'obtiens le message
(Erreur d'exécution '4605' Cette méthode ou propriété n'est pas
disponible car l'objet fait référence à une zone protégée d'un
document.) P.S la macro fonctionne dans un document non verrouillé.
Merci














Avatar
Anacoluthe
Bonjour !

'Apa57' nous a écrit ...
Bonsoir Circé,
merci pour l'info. J'ai apporté un modification sur la dernière ligne pour
que ça fonctionne correctement. La macro donne ceci:
Sub AutoNew()
Il reste cependant un dernier problème, la macro ne s'exécute pas au bon
endroit dans le document. Elle s'exécute dans le premier champs formulaire du
document alors que je voudrais qu'elle s'exécute dans le champs 8.


Donnez un autre nom que AutoNew à votre macro puis
placez ce nom dans 'Macro au démarrage' du champ 8

Anacoluthe
« Ouais le génie ça démarre tôt
Mais y a des fois ça rend marteau »
- Serge GAINSBOURG

Avatar
Apa57
Bonjour à tous, merci Anacoluthe ça fonctionne.


Bonjour !

'Apa57' nous a écrit ...
Bonsoir Circé,
merci pour l'info. J'ai apporté un modification sur la dernière ligne pour
que ça fonctionne correctement. La macro donne ceci:
Sub AutoNew()
Il reste cependant un dernier problème, la macro ne s'exécute pas au bon
endroit dans le document. Elle s'exécute dans le premier champs formulaire du
document alors que je voudrais qu'elle s'exécute dans le champs 8.


Donnez un autre nom que AutoNew à votre macro puis
placez ce nom dans 'Macro au démarrage' du champ 8

Anacoluthe
« Ouais le génie ça démarre tôt
Mais y a des fois ça rend marteau »
- Serge GAINSBOURG