OVH Cloud OVH Cloud

Socui pour vérouiller une feuille

12 réponses
Avatar
Ayrton [ASC]
Bonjour à tous........et bonne année ;-) ( Ce n'est pas trop
tard.......! !)

Voilà mon problème : j'ai un classeur qui contient un peu de vba de
façon à me générer un nouveau numéro dans une cellule à chaque ouverture
de celui-ci ; tout fonctionne très bien mais le problèmeest que je
voudrais verouiller certaines plages de cellules ( ex : B29 à B35; B38
à B44 et B47à B53 et idem pour la colonne D ) ; mon souci est dès que je
protège ma feuille, j'ai ce message à l'ouverture de mon classeur : "
Erreur 1004 : Impossible de définir la propriété NumberFormat de la
classe Range " ; si je click sur ok j'ai ceci :
http://cjoint.com/?bjsCDI84rQ

Je pense que cela vient de ma numérotation mais dès que j'enlève
laprotection de feuille, tout remarche très bien.
Y a t'l un moyen pour que je puisse garder ma numérotation auto en
pouvant quand même verouiller certaines plages de cellules ?

Un grand merci d'avance à vous

Cordialement

--
@+
Ayrton
http://cerbermail.com/?ljOK1CRTMt
Recherche dans les Archives :
http://groups.google.fr/group/microsoft.public.fr.windowsxp?hl=fr
Charte NG :
http://support.microsoft.com/directory/worldwide/fr/newsgroup/regles.htm

10 réponses

1 2
Avatar
michdenis
Bonjour Ayrton,

Utilise ceci dans le ThisWorkbook de ton classeur

Ceci va protéger ta feuille et permettre la modification du
contenu et du format des cellules lorsque ces changements
sont faits par l'utilisation de macro... mais interdit toujours
au usager la modification directe.

'----------------------
Private Sub Workbook_Open()

With Feuil1 'Nom de l'objet à adapter
.Protect "toto", True, True, True, True
End With

End Sub
'----------------------


Salutations!


"Ayrton [ASC]" a écrit dans le message de news:
Bonjour à tous........et bonne année ;-) ( Ce n'est pas trop
tard.......! !)

Voilà mon problème : j'ai un classeur qui contient un peu de vba de
façon à me générer un nouveau numéro dans une cellule à chaque ouverture
de celui-ci ; tout fonctionne très bien mais le problèmeest que je
voudrais verouiller certaines plages de cellules ( ex : B29 à B35; B38
à B44 et B47à B53 et idem pour la colonne D ) ; mon souci est dès que je
protège ma feuille, j'ai ce message à l'ouverture de mon classeur : "
Erreur 1004 : Impossible de définir la propriété NumberFormat de la
classe Range " ; si je click sur ok j'ai ceci :
http://cjoint.com/?bjsCDI84rQ

Je pense que cela vient de ma numérotation mais dès que j'enlève
laprotection de feuille, tout remarche très bien.
Y a t'l un moyen pour que je puisse garder ma numérotation auto en
pouvant quand même verouiller certaines plages de cellules ?

Un grand merci d'avance à vous

Cordialement

--
@+
Ayrton
http://cerbermail.com/?ljOK1CRTMt
Recherche dans les Archives :
http://groups.google.fr/group/microsoft.public.fr.windowsxp?hl=fr
Charte NG :
http://support.microsoft.com/directory/worldwide/fr/newsgroup/regles.htm
Avatar
Ayrton [ASC]
Bonjour *michdenis*
Dans ton message de
news:%,
tu nous envoyais cette missive :-(*)
Bonjour Ayrton,


Bonjour Michedenis,

Utilise ceci dans le ThisWorkbook de ton classeur

Ceci va protéger ta feuille et permettre la modification du
contenu et du format des cellules lorsque ces changements
sont faits par l'utilisation de macro... mais interdit toujours
au usager la modification directe.

'----------------------
Private Sub Workbook_Open()

With Feuil1 'Nom de l'objet à adapter
.Protect "toto", True, True, True, True
End With

End Sub
'----------------------


Merci de ton aide et de tarapidité ;-)
J'ai fait ce que tu m'as dit mais une fois la syntaxe mise dans le
ThisWorkbook, si je verrouille les cellules concernées, j'ai un message
d'erreur " objet requis " à l'ouverture de mon classeur ; si je débogue,
j'ai la ligne Protect " toto ", True, True, True, True surlignée en
jaune ;-(

Ou alors je n'ai pas tout compris de ce que tu m'as dit ! Ce qui est
fort possible !

Merci

Bien à toi

--
@+
Ayrton
http://cerbermail.com/?ljOK1CRTMt
Recherche dans les Archives :
http://groups.google.fr/group/microsoft.public.fr.windowsxp?hl=fr
Charte NG :
http://support.microsoft.com/directory/worldwide/fr/newsgroup/regles.htm

Avatar
michdenis
Bonjour Ayrton,

A ) si tu avais protégé ta feuille, déprotège là et enregistre ton classeur
B ) Feuil1 dans la procédure ne représente pas le nom de l'onglet de la
feuille en question mais la propriété "NAME" de l'objet en vba.
Pour trouver cette information, tu regardes dans l'explorateur
du projet VBA de ton classeur :
Feuil1(Feuil1) La Propriété Name = Feuil1 sans parenthèse
C ) toto est le mot de passe ... si besoin !


Salutations!


"Ayrton [ASC]" a écrit dans le message de news:
Bonjour *michdenis*
Dans ton message de
news:%,
tu nous envoyais cette missive :-(*)
Bonjour Ayrton,


Bonjour Michedenis,

Utilise ceci dans le ThisWorkbook de ton classeur

Ceci va protéger ta feuille et permettre la modification du
contenu et du format des cellules lorsque ces changements
sont faits par l'utilisation de macro... mais interdit toujours
au usager la modification directe.

'----------------------
Private Sub Workbook_Open()

With Feuil1 'Nom de l'objet à adapter
.Protect "toto", True, True, True, True
End With

End Sub
'----------------------


Merci de ton aide et de tarapidité ;-)
J'ai fait ce que tu m'as dit mais une fois la syntaxe mise dans le
ThisWorkbook, si je verrouille les cellules concernées, j'ai un message
d'erreur " objet requis " à l'ouverture de mon classeur ; si je débogue,
j'ai la ligne Protect " toto ", True, True, True, True surlignée en
jaune ;-(

Ou alors je n'ai pas tout compris de ce que tu m'as dit ! Ce qui est
fort possible !

Merci

Bien à toi

--
@+
Ayrton
http://cerbermail.com/?ljOK1CRTMt
Recherche dans les Archives :
http://groups.google.fr/group/microsoft.public.fr.windowsxp?hl=fr
Charte NG :
http://support.microsoft.com/directory/worldwide/fr/newsgroup/regles.htm

Avatar
Ayrton [ASC]
Bonjour *michdenis*
Dans ton message de
news:ewCo$,
tu nous envoyais cette missive :-(*)
Bonjour Ayrton,


Re Michdenis,

A ) si tu avais protégé ta feuille, déprotège là et enregistre ton
classeur
B ) Feuil1 dans la procédure ne représente pas le nom de l'onglet de
la feuille en question mais la propriété "NAME" de l'objet en vba.
Pour trouver cette information, tu regardes dans l'explorateur
du projet VBA de ton classeur :
Feuil1(Feuil1) La Propriété Name = Feuil1 sans parenthèse
C ) toto est le mot de passe ... si besoin !


C'est nickel de chez nickel ;-)
Merci beaucoup Michdenis ! A la fois pour l'explication de la propriété
"Name " et pour la syntaxe.

Tu me sors une belle épine du
pied.........................................surtout que c'est toi qui
m'avait donné la syntaxe du No Auto il y a quelques mois et que ça
fonctionne pil poil ! !
Avec la protection des cellules ( car j'ai été obligé de faire évoluer
mon classeur ) c'est maintenant parfait ! ;-)

Merci encore

Bien à toi

--
@+
Ayrton
http://cerbermail.com/?ljOK1CRTMt
Recherche dans les Archives :
http://groups.google.fr/group/microsoft.public.fr.windowsxp?hl=fr
Charte NG :
http://support.microsoft.com/directory/worldwide/fr/newsgroup/regles.htm

Avatar
Ayrton [ASC]
Re Michedenis,

Excuse moi mais je me suis un peu emballé !! ! Le verouillage fonctionne
très bien mais à l'ouverture du classeur, mon numero auto ne
s'incrémente plus de 1 et je me retrouve avezc le même message d'erreur
qu'au début, à savoir : Impossibilité de définir la propriété
NumberFormat de la classe Range.

Me serais je trompé quelque part ?

Merci

Cordialement

--
@+
Ayrton
http://cerbermail.com/?ljOK1CRTMt
Recherche dans les Archives :
http://groups.google.fr/group/microsoft.public.fr.windowsxp?hl=fr
Charte NG :
http://support.microsoft.com/directory/worldwide/fr/newsgroup/regles.htm
Avatar
michdenis
Bonjour Ayrton,

A ) Dans ton code, tu ne dois pas utiliser de code pour protéger ta feuille
ailleurs que celui que je t'ai donné.

B ) Comme la procédure s'effectue en ouvrant ton classeur, ferme ton
classeur et ré-ouvre le .. est-ce que cela fonctionne ?

C ) As-tu protégé la bonne feuille avec la procédure transmise ?


Salutations!


"Ayrton [ASC]" a écrit dans le message de news:
Re Michedenis,

Excuse moi mais je me suis un peu emballé !! ! Le verouillage fonctionne
très bien mais à l'ouverture du classeur, mon numero auto ne
s'incrémente plus de 1 et je me retrouve avezc le même message d'erreur
qu'au début, à savoir : Impossibilité de définir la propriété
NumberFormat de la classe Range.

Me serais je trompé quelque part ?

Merci

Cordialement

--
@+
Ayrton
http://cerbermail.com/?ljOK1CRTMt
Recherche dans les Archives :
http://groups.google.fr/group/microsoft.public.fr.windowsxp?hl=fr
Charte NG :
http://support.microsoft.com/directory/worldwide/fr/newsgroup/regles.htm
Avatar
Ayrton [ASC]
Bonjour *michdenis*
Dans ton message de
news:,
tu nous envoyais cette missive :-(*)
Bonjour Ayrton,


Re Michdenis,

A ) Dans ton code, tu ne dois pas utiliser de code pour protéger ta
feuille ailleurs que celui que je t'ai donné.


J'ai juste ça en plus
http://cjoint.com/?bjurHScGbp et http://cjoint.com/?bjuscda1OG

Comme ça tu sais tout ;-)

B ) Comme la procédure s'effectue en ouvrant ton classeur, ferme ton
classeur et ré-ouvre le .. est-ce que cela fonctionne ?


Non ; ou du moins ça bloque avec le numéro auto ; ça fonctionne bien
pour le vérouillage des cellules par contre


C ) As-tu protégé la bonne feuille avec la procédure transmise ?


Oui

A titre d'info, j'ai essayé de me débrouiller avec :
Private Sub Workbook_BeforeClose(Cancel As Boolean)
Feuil1.Unprotect
End Sub

Ca fonctionne bien et je ne suis pas embêté à l'ouverture avec le num.
auto ; par contre, je suis obligé de faire sauter le mot de passe, bien
évidement, car il m'est demandé à la fermeture du classeur.
Je ne suis pas très fort en vba, donc je fais ce que je peux et je
tatônne ! ! ,-)

Cordialement

--
@+
Ayrton
http://cerbermail.com/?ljOK1CRTMt
Recherche dans les Archives :
http://groups.google.fr/group/microsoft.public.fr.windowsxp?hl=fr
Charte NG :
http://support.microsoft.com/directory/worldwide/fr/newsgroup/regles.htm

Avatar
michdenis
Désolé, j'avais oublié un True à la liste ;-)
toto = mot de passe.
'---------------------------
Private Sub Workbook_Open()

With Worksheets("Photo")
.Protect "toto", True, True, True, True, True, True
.Range("D12").NumberFormat = "# ##0"
.Range("D12") = Range("D12") + 1
End With
End Sub
'---------------------------


Salutations!


"Ayrton [ASC]" a écrit dans le message de news: %23n$
Bonjour *michdenis*
Dans ton message de
news:,
tu nous envoyais cette missive :-(*)
Bonjour Ayrton,


Re Michdenis,

A ) Dans ton code, tu ne dois pas utiliser de code pour protéger ta
feuille ailleurs que celui que je t'ai donné.


J'ai juste ça en plus
http://cjoint.com/?bjurHScGbp et http://cjoint.com/?bjuscda1OG

Comme ça tu sais tout ;-)

B ) Comme la procédure s'effectue en ouvrant ton classeur, ferme ton
classeur et ré-ouvre le .. est-ce que cela fonctionne ?


Non ; ou du moins ça bloque avec le numéro auto ; ça fonctionne bien
pour le vérouillage des cellules par contre


C ) As-tu protégé la bonne feuille avec la procédure transmise ?


Oui

A titre d'info, j'ai essayé de me débrouiller avec :
Private Sub Workbook_BeforeClose(Cancel As Boolean)
Feuil1.Unprotect
End Sub

Ca fonctionne bien et je ne suis pas embêté à l'ouverture avec le num.
auto ; par contre, je suis obligé de faire sauter le mot de passe, bien
évidement, car il m'est demandé à la fermeture du classeur.
Je ne suis pas très fort en vba, donc je fais ce que je peux et je
tatônne ! ! ,-)

Cordialement

--
@+
Ayrton
http://cerbermail.com/?ljOK1CRTMt
Recherche dans les Archives :
http://groups.google.fr/group/microsoft.public.fr.windowsxp?hl=fr
Charte NG :
http://support.microsoft.com/directory/worldwide/fr/newsgroup/regles.htm

Avatar
Ayrton [ASC]
Bonjour *michdenis*
Dans ton message de
news:%,
tu nous envoyais cette missive :-(*)

Désolé, j'avais oublié un True à la liste ;-)


Tu n'as pas à être désolé Michdenis, tu m'as déjà beaucoup aidé ;-)

toto = mot de passe.
'---------------------------
Private Sub Workbook_Open()

With Worksheets("Photo")
.Protect "toto", True, True, True, True, True, True
.Range("D12").NumberFormat = "# ##0"
.Range("D12") = Range("D12") + 1
End With
End Sub


Evidement, ça va beaucoup mieux comme ça ;-)
C'est Impeccable de chez Impeccable ! !

Merci 1000 fois !
Si j'osais, je t'uarais bien demandé une dernière chose, mais c'est
juste pour ma gouverne perso, histoire de m'endormir moins bête et
d'avir appris quelque chose ;-)
Alors voilà, pourquoi 6 fois True après Protect "toto" ?

Encore merci pour tout
Bonne soirée

Bien Cordialement

--
@+
Ayrton
http://cerbermail.com/?ljOK1CRTMt
Recherche dans les Archives :
http://groups.google.fr/group/microsoft.public.fr.windowsxp?hl=fr
Charte NG :
http://support.microsoft.com/directory/worldwide/fr/newsgroup/regles.htm

Avatar
Pounet95
Bonsoir ( ou Re )

<< .Protect "toto", True, True, True, True, True, True >>

il y a un True là , là et un True là là itou :o))))))

mdr lol etc

--
Pounet95
on trouve tout ( ou presque ) http://www.excelabo.net/
Conseillé :
http://dj.joss.free.fr/netiquet.htm
(charte, nétiquette, conseils, abréviations, souriettes...)
http://www.excelabo.net/mpfe/connexion.php
(connexion, conseils...)

"michdenis" a écrit dans le message de news:
%
Désolé, j'avais oublié un True à la liste ;-)
toto = mot de passe.
'---------------------------
Private Sub Workbook_Open()

With Worksheets("Photo")
.Protect "toto", True, True, True, True, True, True
.Range("D12").NumberFormat = "# ##0"
.Range("D12") = Range("D12") + 1
End With
End Sub
'---------------------------


Salutations!


"Ayrton [ASC]" a écrit dans le message de news:
%23n$
Bonjour *michdenis*
Dans ton message de
news:,
tu nous envoyais cette missive :-(*)
Bonjour Ayrton,


Re Michdenis,

A ) Dans ton code, tu ne dois pas utiliser de code pour protéger ta
feuille ailleurs que celui que je t'ai donné.


J'ai juste ça en plus
http://cjoint.com/?bjurHScGbp et http://cjoint.com/?bjuscda1OG

Comme ça tu sais tout ;-)

B ) Comme la procédure s'effectue en ouvrant ton classeur, ferme ton
classeur et ré-ouvre le .. est-ce que cela fonctionne ?


Non ; ou du moins ça bloque avec le numéro auto ; ça fonctionne bien
pour le vérouillage des cellules par contre


C ) As-tu protégé la bonne feuille avec la procédure transmise ?


Oui

A titre d'info, j'ai essayé de me débrouiller avec :
Private Sub Workbook_BeforeClose(Cancel As Boolean)
Feuil1.Unprotect
End Sub

Ca fonctionne bien et je ne suis pas embêté à l'ouverture avec le num.
auto ; par contre, je suis obligé de faire sauter le mot de passe, bien
évidement, car il m'est demandé à la fermeture du classeur.
Je ne suis pas très fort en vba, donc je fais ce que je peux et je
tatônne ! ! ,-)

Cordialement

--
@+
Ayrton
http://cerbermail.com/?ljOK1CRTMt
Recherche dans les Archives :
http://groups.google.fr/group/microsoft.public.fr.windowsxp?hl=fr
Charte NG :
http://support.microsoft.com/directory/worldwide/fr/newsgroup/regles.htm





1 2