OVH Cloud OVH Cloud

protection de cellule

7 réponses
Avatar
Cara_Dom
Bonjour,
1ère question :
J'ai un classeur qui comporte 6 feuilles. J'aurais voulu masquer et
protéger 5 feuilles, avec un code VBA et protéger mon code VBA.

2ème Question :
Sur une feuille j'ai 6 colonnes, j'aurais voulu protéger la feuille tout en
laissant certaines cellules actives pour l'utilisateur. Sur cette feuille il
y a des macro.

Merci pour tout

7 réponses

Avatar
anonymousA
Bonjour,

-Cacher une feuille ( très cachée): sheets("toto").visible=xlsheetveryhidden
-Proteger une feuille
1: en ne permettant l'exécution de macro sans enlever la protection
sheets("toto").protect "motdepasse"
2: en permettant l'exécution de macro sans enlever la protection
sheets("toto").protect "motdepasse" ,userinterfaceonly:=true

-pour proteger une feuille tout en gardant certaines cellules non
verrouillées, il faut aller dans Format/Cellule/Protection et Décocher
Verrouilée. Alors quand tu mettras , la protection de feuille, tu
pourras travailler sur ces cellules. POur deverrouiller un cellule par
VBA, voici un exmple: Range("A1").Locked = False

A+

Bonjour,
1ère question :
J'ai un classeur qui comporte 6 feuilles. J'aurais voulu masquer et
protéger 5 feuilles, avec un code VBA et protéger mon code VBA.

2ème Question :
Sur une feuille j'ai 6 colonnes, j'aurais voulu protéger la feuille tout en
laissant certaines cellules actives pour l'utilisateur. Sur cette feuille il
y a des macro.

Merci pour tout




Avatar
Cara_Dom
j'ai essayé ce code mais cela ne marche pas.
Private Sub Worksheet_Activate()
sheets("toto").protect "motdepasse" ,userinterfaceonly:=true
End Sub
à la place de toto je met le nom de la feuille ?

"anonymousA" a écrit dans le message de news:
45c5aebf$0$27390$
Bonjour,

-Cacher une feuille ( très cachée):
sheets("toto").visible=xlsheetveryhidden
-Proteger une feuille
1: en ne permettant l'exécution de macro sans enlever la protection
sheets("toto").protect "motdepasse"
2: en permettant l'exécution de macro sans enlever la protection
sheets("toto").protect "motdepasse" ,userinterfaceonly:=true

-pour proteger une feuille tout en gardant certaines cellules non
verrouillées, il faut aller dans Format/Cellule/Protection et Décocher
Verrouilée. Alors quand tu mettras , la protection de feuille, tu pourras
travailler sur ces cellules. POur deverrouiller un cellule par VBA, voici
un exmple: Range("A1").Locked = False

A+

Bonjour,
1ère question :
J'ai un classeur qui comporte 6 feuilles. J'aurais voulu masquer et
protéger 5 feuilles, avec un code VBA et protéger mon code VBA.

2ème Question :
Sur une feuille j'ai 6 colonnes, j'aurais voulu protéger la feuille tout
en laissant certaines cellules actives pour l'utilisateur. Sur cette
feuille il y a des macro.

Merci pour tout




Avatar
anonymousA
Ben oui, c'était un exemple.!!! toto et motdepasse sont des chaines de
caractères que tu peux remplacer à ta guise.

En l'occurrence, compte tenu de l'endroit où tu as placée cette
instruction, ActiveSheet.Protect "motdepasse", userinterfaceonly:=True
conviendra

Enfin, je m'aperçois que j'avais omis de te répondre pour la protection
de ton projet VBA. Pour faire ca, aller dans l'éditeur VBE, puis cliquer
droit sur son projet puis Propriéttés/Protection/Verrouiller Projet pour
l'affichage et mettre son mot de passe. Cette protection ne deviendra
effective qu'une fois la fichier enregistré et fermé au moins une fois.

A+

j'ai essayé ce code mais cela ne marche pas.
Private Sub Worksheet_Activate()
sheets("toto").protect "motdepasse" ,userinterfaceonly:=true
End Sub
à la place de toto je met le nom de la feuille ?

"anonymousA" a écrit dans le message de news:
45c5aebf$0$27390$
Bonjour,

-Cacher une feuille ( très cachée):
sheets("toto").visible=xlsheetveryhidden
-Proteger une feuille
1: en ne permettant l'exécution de macro sans enlever la protection
sheets("toto").protect "motdepasse"
2: en permettant l'exécution de macro sans enlever la protection
sheets("toto").protect "motdepasse" ,userinterfaceonly:=true

-pour proteger une feuille tout en gardant certaines cellules non
verrouillées, il faut aller dans Format/Cellule/Protection et Décocher
Verrouilée. Alors quand tu mettras , la protection de feuille, tu pourras
travailler sur ces cellules. POur deverrouiller un cellule par VBA, voici
un exmple: Range("A1").Locked = False

A+

Bonjour,
1ère question :
J'ai un classeur qui comporte 6 feuilles. J'aurais voulu masquer et
protéger 5 feuilles, avec un code VBA et protéger mon code VBA.

2ème Question :
Sur une feuille j'ai 6 colonnes, j'aurais voulu protéger la feuille tout
en laissant certaines cellules actives pour l'utilisateur. Sur cette
feuille il y a des macro.

Merci pour tout








Avatar
Cara_Dom
Cela marche, le seul problème c'est que j'ai des macro dans ma feuille,
lorsque je clique sur un bouton qui contient une macro j'ai une erreur 1004
qui s'affiche.
peut on y remédier
Merci de toute ces réponses
"anonymousA" a écrit dans le message de news:
45c5b6cf$0$27390$
Ben oui, c'était un exemple.!!! toto et motdepasse sont des chaines de
caractères que tu peux remplacer à ta guise.

En l'occurrence, compte tenu de l'endroit où tu as placée cette
instruction, ActiveSheet.Protect "motdepasse", userinterfaceonly:=True
conviendra

Enfin, je m'aperçois que j'avais omis de te répondre pour la protection de
ton projet VBA. Pour faire ca, aller dans l'éditeur VBE, puis cliquer
droit sur son projet puis Propriéttés/Protection/Verrouiller Projet pour
l'affichage et mettre son mot de passe. Cette protection ne deviendra
effective qu'une fois la fichier enregistré et fermé au moins une fois.

A+

j'ai essayé ce code mais cela ne marche pas.
Private Sub Worksheet_Activate()
sheets("toto").protect "motdepasse" ,userinterfaceonly:=true
End Sub
à la place de toto je met le nom de la feuille ?

"anonymousA" a écrit dans le message de news:
45c5aebf$0$27390$
Bonjour,

-Cacher une feuille ( très cachée):
sheets("toto").visible=xlsheetveryhidden
-Proteger une feuille
1: en ne permettant l'exécution de macro sans enlever la protection
sheets("toto").protect "motdepasse"
2: en permettant l'exécution de macro sans enlever la protection
sheets("toto").protect "motdepasse" ,userinterfaceonly:=true

-pour proteger une feuille tout en gardant certaines cellules non
verrouillées, il faut aller dans Format/Cellule/Protection et Décocher
Verrouilée. Alors quand tu mettras , la protection de feuille, tu
pourras travailler sur ces cellules. POur deverrouiller un cellule par
VBA, voici un exmple: Range("A1").Locked = False

A+

Bonjour,
1ère question :
J'ai un classeur qui comporte 6 feuilles. J'aurais voulu masquer et
protéger 5 feuilles, avec un code VBA et protéger mon code VBA.

2ème Question :
Sur une feuille j'ai 6 colonnes, j'aurais voulu protéger la feuille
tout en laissant certaines cellules actives pour l'utilisateur. Sur
cette feuille il y a des macro.

Merci pour tout









Avatar
anonymousA
Le + simple serait que tu publies ton classeur sur cjoint.

A+


Cela marche, le seul problème c'est que j'ai des macro dans ma feuille,
lorsque je clique sur un bouton qui contient une macro j'ai une erreur 1004
qui s'affiche.
peut on y remédier
Merci de toute ces réponses
"anonymousA" a écrit dans le message de news:
45c5b6cf$0$27390$
Ben oui, c'était un exemple.!!! toto et motdepasse sont des chaines de
caractères que tu peux remplacer à ta guise.

En l'occurrence, compte tenu de l'endroit où tu as placée cette
instruction, ActiveSheet.Protect "motdepasse", userinterfaceonly:=True
conviendra

Enfin, je m'aperçois que j'avais omis de te répondre pour la protection de
ton projet VBA. Pour faire ca, aller dans l'éditeur VBE, puis cliquer
droit sur son projet puis Propriéttés/Protection/Verrouiller Projet pour
l'affichage et mettre son mot de passe. Cette protection ne deviendra
effective qu'une fois la fichier enregistré et fermé au moins une fois.

A+

j'ai essayé ce code mais cela ne marche pas.
Private Sub Worksheet_Activate()
sheets("toto").protect "motdepasse" ,userinterfaceonly:=true
End Sub
à la place de toto je met le nom de la feuille ?

"anonymousA" a écrit dans le message de news:
45c5aebf$0$27390$
Bonjour,

-Cacher une feuille ( très cachée):
sheets("toto").visible=xlsheetveryhidden
-Proteger une feuille
1: en ne permettant l'exécution de macro sans enlever la protection
sheets("toto").protect "motdepasse"
2: en permettant l'exécution de macro sans enlever la protection
sheets("toto").protect "motdepasse" ,userinterfaceonly:=true

-pour proteger une feuille tout en gardant certaines cellules non
verrouillées, il faut aller dans Format/Cellule/Protection et Décocher
Verrouilée. Alors quand tu mettras , la protection de feuille, tu
pourras travailler sur ces cellules. POur deverrouiller un cellule par
VBA, voici un exmple: Range("A1").Locked = False

A+

Bonjour,
1ère question :
J'ai un classeur qui comporte 6 feuilles. J'aurais voulu masquer et
protéger 5 feuilles, avec un code VBA et protéger mon code VBA.

2ème Question :
Sur une feuille j'ai 6 colonnes, j'aurais voulu protéger la feuille
tout en laissant certaines cellules actives pour l'utilisateur. Sur
cette feuille il y a des macro.

Merci pour tout











Avatar
Cara_Dom
Désolé, j'avais laissé cette instruction à false (ActiveSheet.Protect
"motdepasse", userinterfaceonly:=True)
merci pour tout ces renseignement j'en ai pris bonne note.
à bientôt surement
"anonymousA" a écrit dans le message de news:
45c5c19f$0$27390$
Le + simple serait que tu publies ton classeur sur cjoint.

A+


Cela marche, le seul problème c'est que j'ai des macro dans ma feuille,
lorsque je clique sur un bouton qui contient une macro j'ai une erreur
1004 qui s'affiche.
peut on y remédier
Merci de toute ces réponses
"anonymousA" a écrit dans le message de news:
45c5b6cf$0$27390$
Ben oui, c'était un exemple.!!! toto et motdepasse sont des chaines de
caractères que tu peux remplacer à ta guise.

En l'occurrence, compte tenu de l'endroit où tu as placée cette
instruction, ActiveSheet.Protect "motdepasse", userinterfaceonly:=True
conviendra

Enfin, je m'aperçois que j'avais omis de te répondre pour la protection
de ton projet VBA. Pour faire ca, aller dans l'éditeur VBE, puis cliquer
droit sur son projet puis Propriéttés/Protection/Verrouiller Projet pour
l'affichage et mettre son mot de passe. Cette protection ne deviendra
effective qu'une fois la fichier enregistré et fermé au moins une fois.

A+

j'ai essayé ce code mais cela ne marche pas.
Private Sub Worksheet_Activate()
sheets("toto").protect "motdepasse" ,userinterfaceonly:=true
End Sub
à la place de toto je met le nom de la feuille ?

"anonymousA" a écrit dans le message de news:
45c5aebf$0$27390$
Bonjour,

-Cacher une feuille ( très cachée):
sheets("toto").visible=xlsheetveryhidden
-Proteger une feuille
1: en ne permettant l'exécution de macro sans enlever la protection
sheets("toto").protect "motdepasse"
2: en permettant l'exécution de macro sans enlever la protection
sheets("toto").protect "motdepasse" ,userinterfaceonly:=true

-pour proteger une feuille tout en gardant certaines cellules non
verrouillées, il faut aller dans Format/Cellule/Protection et Décocher
Verrouilée. Alors quand tu mettras , la protection de feuille, tu
pourras travailler sur ces cellules. POur deverrouiller un cellule par
VBA, voici un exmple: Range("A1").Locked = False

A+

Bonjour,
1ère question :
J'ai un classeur qui comporte 6 feuilles. J'aurais voulu masquer et
protéger 5 feuilles, avec un code VBA et protéger mon code VBA.

2ème Question :
Sur une feuille j'ai 6 colonnes, j'aurais voulu protéger la feuille
tout en laissant certaines cellules actives pour l'utilisateur. Sur
cette feuille il y a des macro.

Merci pour tout













Avatar
Benead
Bonjour,

Dans l'activate tu mets cette ligne :

Private Sub Worksheet_Activate()
ActiveSheet.Protect MotDePasse, , , , True

Le True corrrespond à l'argument "UserInterfaceOnly" qui autorise les macros à mettre à jour des feuilles et des
cellules protégées. Va voir l'aide en ligne, tu as d'autres options intéressantes.

A+
Benead
XL2000

Cara_Dom a écrit:
Cela marche, le seul problème c'est que j'ai des macro dans ma feuille,
lorsque je clique sur un bouton qui contient une macro j'ai une erreur 1004
qui s'affiche.
peut on y remédier
Merci de toute ces réponses
"anonymousA" a écrit dans le message de news:
45c5b6cf$0$27390$

Ben oui, c'était un exemple.!!! toto et motdepasse sont des chaines de
caractères que tu peux remplacer à ta guise.

En l'occurrence, compte tenu de l'endroit où tu as placée cette
instruction, ActiveSheet.Protect "motdepasse", userinterfaceonly:=True
conviendra

Enfin, je m'aperçois que j'avais omis de te répondre pour la protection de
ton projet VBA. Pour faire ca, aller dans l'éditeur VBE, puis cliquer
droit sur son projet puis Propriéttés/Protection/Verrouiller Projet pour
l'affichage et mettre son mot de passe. Cette protection ne deviendra
effective qu'une fois la fichier enregistré et fermé au moins une fois.

A+


j'ai essayé ce code mais cela ne marche pas.
Private Sub Worksheet_Activate()
sheets("toto").protect "motdepasse" ,userinterfaceonly:=true
End Sub
à la place de toto je met le nom de la feuille ?

"anonymousA" a écrit dans le message de news:
45c5aebf$0$27390$

Bonjour,

-Cacher une feuille ( très cachée):
sheets("toto").visible=xlsheetveryhidden
-Proteger une feuille
1: en ne permettant l'exécution de macro sans enlever la protection
sheets("toto").protect "motdepasse"
2: en permettant l'exécution de macro sans enlever la protection
sheets("toto").protect "motdepasse" ,userinterfaceonly:=true

-pour proteger une feuille tout en gardant certaines cellules non
verrouillées, il faut aller dans Format/Cellule/Protection et Décocher
Verrouilée. Alors quand tu mettras , la protection de feuille, tu
pourras travailler sur ces cellules. POur deverrouiller un cellule par
VBA, voici un exmple: Range("A1").Locked = False

A+


Bonjour,
1ère question :
J'ai un classeur qui comporte 6 feuilles. J'aurais voulu masquer et
protéger 5 feuilles, avec un code VBA et protéger mon code VBA.

2ème Question :
Sur une feuille j'ai 6 colonnes, j'aurais voulu protéger la feuille
tout en laissant certaines cellules actives pour l'utilisateur. Sur
cette feuille il y a des macro.

Merci pour tout