Bonsoir Jean,
ATTENTION : SI tu as des difficultés à retrouver les messages qui te parviennent, pourquoi ne les enregistres-tu pas
dans un répertoire sur ton disque dur.
Tu ouvres le petite programme "NotePad" et tu fais un copier-coller des messages que tu veux conserver... cela t'évitera
de chercher les réponses reçues ! Et ces réponses seront toujours disponibles !
Copie d'un message que je t'ai envoyée hier.
ce que tu as proposé c'est correct. Sauf lorsque l'on a beaucoup de macro, cela peut devenir lourd de déprotéger et de
re-protéger les feuilles à chaque instant.
Voici une façon de faire qui permet d'exécuter toutes les macros que tu désires même si les feuilles sont protégés. Dans
tout le reste de ton code, tu n'auras plus à tenir compte de la protection de tes feuilles pour exécuter les macros. Il
sera inutile d'ajouter les lignes de code que tu proposes.
Voici comment faire : à chaque fois que tu vas ouvrir ton classeur, la procédure "Workbook_Activate" va s'exécuter toute
seule... c'est aussi une procédure événementielle... et cette dernière va protéger toutes les feuilles de ton classeur
sans exception. L'usager de ces feuilles ne pourra rien modifier manuellement, mais toutes les macros d'effectueront
sans te soucier du fait que ces feuilles sont protégées
Dans le THISWORKBOOK de ton projet copie ceci :
'--------------------------------
Private Sub Workbook_Activate()
Proteger_Les_Feuilles
End Sub
Dans un module Standard, copie ceci
toto dans la procédure représente le mot de passe
tu peux utiliser celui que tu préfères ....
Tu répètes la ligne de commande pour chacune des feuilles
que tu désires protéger.
'-------------------------
Sub Proteger_Les_Feuilles()
Worksheets("Feuil1").Protect "toto", True, True, True, True
Worksheets("Feuil2").Protect "toto", True, True, True, True
Worksheets("Feuil3").Protect "toto", True, True, True, True
End Sub
'-------------------------
Lorsque ces 2 macros seront en place, ferme ton classeur et observe ce qui se passe à l'ouverture de celui-ci lorsque tu
effectueras des macros sur les feuilles protégées.
Salutations!
"JEAN" a écrit dans le message de news:
Bonjour,
J'ai des macros qui se déroule dans mon classeur, étant donné qu'auparavant
les feuilles n'etait pas protegé et que maintenant je veux protegé mes trois
feuilles quelle serait le code à mettre qui me permettrai d'executer les
macros meme si mes feuilles sont protégés.
merci
Bonsoir Jean,
ATTENTION : SI tu as des difficultés à retrouver les messages qui te parviennent, pourquoi ne les enregistres-tu pas
dans un répertoire sur ton disque dur.
Tu ouvres le petite programme "NotePad" et tu fais un copier-coller des messages que tu veux conserver... cela t'évitera
de chercher les réponses reçues ! Et ces réponses seront toujours disponibles !
Copie d'un message que je t'ai envoyée hier.
ce que tu as proposé c'est correct. Sauf lorsque l'on a beaucoup de macro, cela peut devenir lourd de déprotéger et de
re-protéger les feuilles à chaque instant.
Voici une façon de faire qui permet d'exécuter toutes les macros que tu désires même si les feuilles sont protégés. Dans
tout le reste de ton code, tu n'auras plus à tenir compte de la protection de tes feuilles pour exécuter les macros. Il
sera inutile d'ajouter les lignes de code que tu proposes.
Voici comment faire : à chaque fois que tu vas ouvrir ton classeur, la procédure "Workbook_Activate" va s'exécuter toute
seule... c'est aussi une procédure événementielle... et cette dernière va protéger toutes les feuilles de ton classeur
sans exception. L'usager de ces feuilles ne pourra rien modifier manuellement, mais toutes les macros d'effectueront
sans te soucier du fait que ces feuilles sont protégées
Dans le THISWORKBOOK de ton projet copie ceci :
'--------------------------------
Private Sub Workbook_Activate()
Proteger_Les_Feuilles
End Sub
Dans un module Standard, copie ceci
toto dans la procédure représente le mot de passe
tu peux utiliser celui que tu préfères ....
Tu répètes la ligne de commande pour chacune des feuilles
que tu désires protéger.
'-------------------------
Sub Proteger_Les_Feuilles()
Worksheets("Feuil1").Protect "toto", True, True, True, True
Worksheets("Feuil2").Protect "toto", True, True, True, True
Worksheets("Feuil3").Protect "toto", True, True, True, True
End Sub
'-------------------------
Lorsque ces 2 macros seront en place, ferme ton classeur et observe ce qui se passe à l'ouverture de celui-ci lorsque tu
effectueras des macros sur les feuilles protégées.
Salutations!
"JEAN" <JEAN@discussions.microsoft.com> a écrit dans le message de news:
B4675C48-3A71-4895-A89A-1BF64CDBFA87@microsoft.com...
Bonjour,
J'ai des macros qui se déroule dans mon classeur, étant donné qu'auparavant
les feuilles n'etait pas protegé et que maintenant je veux protegé mes trois
feuilles quelle serait le code à mettre qui me permettrai d'executer les
macros meme si mes feuilles sont protégés.
merci
Bonsoir Jean,
ATTENTION : SI tu as des difficultés à retrouver les messages qui te parviennent, pourquoi ne les enregistres-tu pas
dans un répertoire sur ton disque dur.
Tu ouvres le petite programme "NotePad" et tu fais un copier-coller des messages que tu veux conserver... cela t'évitera
de chercher les réponses reçues ! Et ces réponses seront toujours disponibles !
Copie d'un message que je t'ai envoyée hier.
ce que tu as proposé c'est correct. Sauf lorsque l'on a beaucoup de macro, cela peut devenir lourd de déprotéger et de
re-protéger les feuilles à chaque instant.
Voici une façon de faire qui permet d'exécuter toutes les macros que tu désires même si les feuilles sont protégés. Dans
tout le reste de ton code, tu n'auras plus à tenir compte de la protection de tes feuilles pour exécuter les macros. Il
sera inutile d'ajouter les lignes de code que tu proposes.
Voici comment faire : à chaque fois que tu vas ouvrir ton classeur, la procédure "Workbook_Activate" va s'exécuter toute
seule... c'est aussi une procédure événementielle... et cette dernière va protéger toutes les feuilles de ton classeur
sans exception. L'usager de ces feuilles ne pourra rien modifier manuellement, mais toutes les macros d'effectueront
sans te soucier du fait que ces feuilles sont protégées
Dans le THISWORKBOOK de ton projet copie ceci :
'--------------------------------
Private Sub Workbook_Activate()
Proteger_Les_Feuilles
End Sub
Dans un module Standard, copie ceci
toto dans la procédure représente le mot de passe
tu peux utiliser celui que tu préfères ....
Tu répètes la ligne de commande pour chacune des feuilles
que tu désires protéger.
'-------------------------
Sub Proteger_Les_Feuilles()
Worksheets("Feuil1").Protect "toto", True, True, True, True
Worksheets("Feuil2").Protect "toto", True, True, True, True
Worksheets("Feuil3").Protect "toto", True, True, True, True
End Sub
'-------------------------
Lorsque ces 2 macros seront en place, ferme ton classeur et observe ce qui se passe à l'ouverture de celui-ci lorsque tu
effectueras des macros sur les feuilles protégées.
Salutations!
"JEAN" a écrit dans le message de news:
Bonjour,
J'ai des macros qui se déroule dans mon classeur, étant donné qu'auparavant
les feuilles n'etait pas protegé et que maintenant je veux protegé mes trois
feuilles quelle serait le code à mettre qui me permettrai d'executer les
macros meme si mes feuilles sont protégés.
merci
Bonsoir Jean,
ATTENTION : SI tu as des difficultés à retrouver les messages qui te parviennent, pourquoi ne les enregistres-tu pas
dans un répertoire sur ton disque dur.
Tu ouvres le petite programme "NotePad" et tu fais un copier-coller des messages que tu veux conserver... cela
t'évitera
de chercher les réponses reçues ! Et ces réponses seront toujours disponibles !
Copie d'un message que je t'ai envoyée hier.
ce que tu as proposé c'est correct. Sauf lorsque l'on a beaucoup de macro, cela peut devenir lourd de déprotéger et de
re-protéger les feuilles à chaque instant.
Voici une façon de faire qui permet d'exécuter toutes les macros que tu désires même si les feuilles sont protégés.
Dans
tout le reste de ton code, tu n'auras plus à tenir compte de la protection de tes feuilles pour exécuter les macros.
Il
sera inutile d'ajouter les lignes de code que tu proposes.
Voici comment faire : à chaque fois que tu vas ouvrir ton classeur, la procédure "Workbook_Activate" va s'exécuter
toute
seule... c'est aussi une procédure événementielle... et cette dernière va protéger toutes les feuilles de ton classeur
sans exception. L'usager de ces feuilles ne pourra rien modifier manuellement, mais toutes les macros d'effectueront
sans te soucier du fait que ces feuilles sont protégées
Dans le THISWORKBOOK de ton projet copie ceci :
'--------------------------------
Private Sub Workbook_Activate()
Proteger_Les_Feuilles
End Sub
Dans un module Standard, copie ceci
toto dans la procédure représente le mot de passe
tu peux utiliser celui que tu préfères ....
Tu répètes la ligne de commande pour chacune des feuilles
que tu désires protéger.
'-------------------------
Sub Proteger_Les_Feuilles()
Worksheets("Feuil1").Protect "toto", True, True, True, True
Worksheets("Feuil2").Protect "toto", True, True, True, True
Worksheets("Feuil3").Protect "toto", True, True, True, True
End Sub
'-------------------------
Lorsque ces 2 macros seront en place, ferme ton classeur et observe ce qui se passe à l'ouverture de celui-ci lorsque
tu
effectueras des macros sur les feuilles protégées.
Salutations!
"JEAN" a écrit dans le message de news:
Bonjour,
J'ai des macros qui se déroule dans mon classeur, étant donné qu'auparavant
les feuilles n'etait pas protegé et que maintenant je veux protegé mes trois
feuilles quelle serait le code à mettre qui me permettrai d'executer les
macros meme si mes feuilles sont protégés.
merci
Bonsoir Jean,
ATTENTION : SI tu as des difficultés à retrouver les messages qui te parviennent, pourquoi ne les enregistres-tu pas
dans un répertoire sur ton disque dur.
Tu ouvres le petite programme "NotePad" et tu fais un copier-coller des messages que tu veux conserver... cela
t'évitera
de chercher les réponses reçues ! Et ces réponses seront toujours disponibles !
Copie d'un message que je t'ai envoyée hier.
ce que tu as proposé c'est correct. Sauf lorsque l'on a beaucoup de macro, cela peut devenir lourd de déprotéger et de
re-protéger les feuilles à chaque instant.
Voici une façon de faire qui permet d'exécuter toutes les macros que tu désires même si les feuilles sont protégés.
Dans
tout le reste de ton code, tu n'auras plus à tenir compte de la protection de tes feuilles pour exécuter les macros.
Il
sera inutile d'ajouter les lignes de code que tu proposes.
Voici comment faire : à chaque fois que tu vas ouvrir ton classeur, la procédure "Workbook_Activate" va s'exécuter
toute
seule... c'est aussi une procédure événementielle... et cette dernière va protéger toutes les feuilles de ton classeur
sans exception. L'usager de ces feuilles ne pourra rien modifier manuellement, mais toutes les macros d'effectueront
sans te soucier du fait que ces feuilles sont protégées
Dans le THISWORKBOOK de ton projet copie ceci :
'--------------------------------
Private Sub Workbook_Activate()
Proteger_Les_Feuilles
End Sub
Dans un module Standard, copie ceci
toto dans la procédure représente le mot de passe
tu peux utiliser celui que tu préfères ....
Tu répètes la ligne de commande pour chacune des feuilles
que tu désires protéger.
'-------------------------
Sub Proteger_Les_Feuilles()
Worksheets("Feuil1").Protect "toto", True, True, True, True
Worksheets("Feuil2").Protect "toto", True, True, True, True
Worksheets("Feuil3").Protect "toto", True, True, True, True
End Sub
'-------------------------
Lorsque ces 2 macros seront en place, ferme ton classeur et observe ce qui se passe à l'ouverture de celui-ci lorsque
tu
effectueras des macros sur les feuilles protégées.
Salutations!
"JEAN" <JEAN@discussions.microsoft.com> a écrit dans le message de news:
B4675C48-3A71-4895-A89A-1BF64CDBFA87@microsoft.com...
Bonjour,
J'ai des macros qui se déroule dans mon classeur, étant donné qu'auparavant
les feuilles n'etait pas protegé et que maintenant je veux protegé mes trois
feuilles quelle serait le code à mettre qui me permettrai d'executer les
macros meme si mes feuilles sont protégés.
merci
Bonsoir Jean,
ATTENTION : SI tu as des difficultés à retrouver les messages qui te parviennent, pourquoi ne les enregistres-tu pas
dans un répertoire sur ton disque dur.
Tu ouvres le petite programme "NotePad" et tu fais un copier-coller des messages que tu veux conserver... cela
t'évitera
de chercher les réponses reçues ! Et ces réponses seront toujours disponibles !
Copie d'un message que je t'ai envoyée hier.
ce que tu as proposé c'est correct. Sauf lorsque l'on a beaucoup de macro, cela peut devenir lourd de déprotéger et de
re-protéger les feuilles à chaque instant.
Voici une façon de faire qui permet d'exécuter toutes les macros que tu désires même si les feuilles sont protégés.
Dans
tout le reste de ton code, tu n'auras plus à tenir compte de la protection de tes feuilles pour exécuter les macros.
Il
sera inutile d'ajouter les lignes de code que tu proposes.
Voici comment faire : à chaque fois que tu vas ouvrir ton classeur, la procédure "Workbook_Activate" va s'exécuter
toute
seule... c'est aussi une procédure événementielle... et cette dernière va protéger toutes les feuilles de ton classeur
sans exception. L'usager de ces feuilles ne pourra rien modifier manuellement, mais toutes les macros d'effectueront
sans te soucier du fait que ces feuilles sont protégées
Dans le THISWORKBOOK de ton projet copie ceci :
'--------------------------------
Private Sub Workbook_Activate()
Proteger_Les_Feuilles
End Sub
Dans un module Standard, copie ceci
toto dans la procédure représente le mot de passe
tu peux utiliser celui que tu préfères ....
Tu répètes la ligne de commande pour chacune des feuilles
que tu désires protéger.
'-------------------------
Sub Proteger_Les_Feuilles()
Worksheets("Feuil1").Protect "toto", True, True, True, True
Worksheets("Feuil2").Protect "toto", True, True, True, True
Worksheets("Feuil3").Protect "toto", True, True, True, True
End Sub
'-------------------------
Lorsque ces 2 macros seront en place, ferme ton classeur et observe ce qui se passe à l'ouverture de celui-ci lorsque
tu
effectueras des macros sur les feuilles protégées.
Salutations!
"JEAN" a écrit dans le message de news:
Bonjour,
J'ai des macros qui se déroule dans mon classeur, étant donné qu'auparavant
les feuilles n'etait pas protegé et que maintenant je veux protegé mes trois
feuilles quelle serait le code à mettre qui me permettrai d'executer les
macros meme si mes feuilles sont protégés.
merci
Bonjour Jean,
Effectivement Jean, tu as raison. Je t'ai induis en erreur. Cette façon d'écrire cette ligne de code ne fonctionne pas
dans ce cas précis et pourtant, il n'y a pas d'erreur (?) ... c'est juste un truc merdique d'excel. Peut être il y
a-t-il un MVP qui en connaît-il la cause.
Au lieu de renseigner seulement la valeur des arguments de la méthode "Protect", tu te dois de les nommer.
Remplace cette syntaxe
Worksheets("Feuil1").Protect True, True, True, True
PAR :
(ceci est seulement une ligne de code, elle sera probablement coupée par le service de messagerie... il faut donc la
remettre sur une seule ligne pour qu'elle fonctionne. Cette fois, j'ai testé et il n'y a pas de problème avec excel 2002
et probablement pour toutes les versions excel 97 à 2003
Worksheets("Feuil1").Protect DrawingObjects:=True, Contents:=True, Scenarios:=True, UserInterfaceOnly:=True
si tu veux utiliser un mot de passe comme "toto" par exemple, la ligne de code deviendra :
Worksheets("Feuil1").Protect Password:="toto", DrawingObjects:=True, Contents:=True, Scenarios:=True,
UserInterfaceOnly:=True
L'autre partie de ta question, il est tout à fait possible de masquer des colonnes ou de les afficher sur une feuille
masquée avec des commandes comme celle-là. Tu peux appeler ce code aussi souvent que bon te semble et cela ne devrait
pas te causer de soucis. Probablement la cause provient du fait que la ligne de code "Protect" ne faisait pas du bon
travail à l'ouverture du classeur !
Worksheets("Feuil1").Visible = xlVeryHidden
Worksheets("feuil1").Columns("C").Hidden = True
P.S. Durant l'élaboration de ton code, il est préférable que tu n'actives pas cette procédure (celle qui protège tes
feuilles à l'ouverture) , car comme c'est possible lors de tes tests sur les autres procédures de ton classeur que la
fenêtre "Debugg" s'ouvre signalant un "problème" ....le fait que l'application "tombe en erreur" a un effet sur la
protection des feuilles fait de cette manière et que cela te cause des difficultés. Réserve la protection de tes
feuilles lorsque tu auras terminé les autres aspects de ton programme .
Salutations!
"JEAN" a écrit dans le message de news:
oui j'ai essayé cela a marché une fois, et quand j'ai réouvert mon classeur,
ca m'a generé ce message "impossible .. methode hidden"
car la feuille est protegé et il peut pas cacher la colonne,et j'ai verifier
dans mon programme il n'y a pas active unprotect ou protect, je les ai
supprimé.
Pourquoi ca marche pas ne duxiemes fois?
Et je voudrai proteger seulement le contenu?
donc au niveau des 4 TRUE que tu m'a mit, je souhaite juste proteger le
CONTENTS
comme la ligne s'ecrit alors.
"Worksheets("Feuil1").Protect "toto", True, True, True, True"
autre chose pour ma feuille qui se genere automatiquement, comment la
proteger?
merci de ton aideBonsoir Jean,
ATTENTION : SI tu as des difficultés à retrouver les messages qui te parviennent, pourquoi ne les enregistres-tu pas
dans un répertoire sur ton disque dur.
Tu ouvres le petite programme "NotePad" et tu fais un copier-coller des messages que tu veux conserver... cela
t'évitera
de chercher les réponses reçues ! Et ces réponses seront toujours disponibles !
Copie d'un message que je t'ai envoyée hier.
ce que tu as proposé c'est correct. Sauf lorsque l'on a beaucoup de macro, cela peut devenir lourd de déprotéger et de
re-protéger les feuilles à chaque instant.
Voici une façon de faire qui permet d'exécuter toutes les macros que tu désires même si les feuilles sont protégés.
Dans
tout le reste de ton code, tu n'auras plus à tenir compte de la protection de tes feuilles pour exécuter les macros.
Il
sera inutile d'ajouter les lignes de code que tu proposes.
Voici comment faire : à chaque fois que tu vas ouvrir ton classeur, la procédure "Workbook_Activate" va s'exécuter
toute
seule... c'est aussi une procédure événementielle... et cette dernière va protéger toutes les feuilles de ton classeur
sans exception. L'usager de ces feuilles ne pourra rien modifier manuellement, mais toutes les macros d'effectueront
sans te soucier du fait que ces feuilles sont protégées
Dans le THISWORKBOOK de ton projet copie ceci :
'--------------------------------
Private Sub Workbook_Activate()
Proteger_Les_Feuilles
End Sub
Dans un module Standard, copie ceci
toto dans la procédure représente le mot de passe
tu peux utiliser celui que tu préfères ....
Tu répètes la ligne de commande pour chacune des feuilles
que tu désires protéger.
'-------------------------
Sub Proteger_Les_Feuilles()
Worksheets("Feuil1").Protect "toto", True, True, True, True
Worksheets("Feuil2").Protect "toto", True, True, True, True
Worksheets("Feuil3").Protect "toto", True, True, True, True
End Sub
'-------------------------
Lorsque ces 2 macros seront en place, ferme ton classeur et observe ce qui se passe à l'ouverture de celui-ci lorsque
tu
effectueras des macros sur les feuilles protégées.
Salutations!
"JEAN" a écrit dans le message de news:
Bonjour,
J'ai des macros qui se déroule dans mon classeur, étant donné qu'auparavant
les feuilles n'etait pas protegé et que maintenant je veux protegé mes trois
feuilles quelle serait le code à mettre qui me permettrai d'executer les
macros meme si mes feuilles sont protégés.
merci
Bonjour Jean,
Effectivement Jean, tu as raison. Je t'ai induis en erreur. Cette façon d'écrire cette ligne de code ne fonctionne pas
dans ce cas précis et pourtant, il n'y a pas d'erreur (?) ... c'est juste un truc merdique d'excel. Peut être il y
a-t-il un MVP qui en connaît-il la cause.
Au lieu de renseigner seulement la valeur des arguments de la méthode "Protect", tu te dois de les nommer.
Remplace cette syntaxe
Worksheets("Feuil1").Protect True, True, True, True
PAR :
(ceci est seulement une ligne de code, elle sera probablement coupée par le service de messagerie... il faut donc la
remettre sur une seule ligne pour qu'elle fonctionne. Cette fois, j'ai testé et il n'y a pas de problème avec excel 2002
et probablement pour toutes les versions excel 97 à 2003
Worksheets("Feuil1").Protect DrawingObjects:=True, Contents:=True, Scenarios:=True, UserInterfaceOnly:=True
si tu veux utiliser un mot de passe comme "toto" par exemple, la ligne de code deviendra :
Worksheets("Feuil1").Protect Password:="toto", DrawingObjects:=True, Contents:=True, Scenarios:=True,
UserInterfaceOnly:=True
L'autre partie de ta question, il est tout à fait possible de masquer des colonnes ou de les afficher sur une feuille
masquée avec des commandes comme celle-là. Tu peux appeler ce code aussi souvent que bon te semble et cela ne devrait
pas te causer de soucis. Probablement la cause provient du fait que la ligne de code "Protect" ne faisait pas du bon
travail à l'ouverture du classeur !
Worksheets("Feuil1").Visible = xlVeryHidden
Worksheets("feuil1").Columns("C").Hidden = True
P.S. Durant l'élaboration de ton code, il est préférable que tu n'actives pas cette procédure (celle qui protège tes
feuilles à l'ouverture) , car comme c'est possible lors de tes tests sur les autres procédures de ton classeur que la
fenêtre "Debugg" s'ouvre signalant un "problème" ....le fait que l'application "tombe en erreur" a un effet sur la
protection des feuilles fait de cette manière et que cela te cause des difficultés. Réserve la protection de tes
feuilles lorsque tu auras terminé les autres aspects de ton programme .
Salutations!
"JEAN" <JEAN@discussions.microsoft.com> a écrit dans le message de news:
88372869-C9B3-442E-BFF8-7A0F4A76AEA1@microsoft.com...
oui j'ai essayé cela a marché une fois, et quand j'ai réouvert mon classeur,
ca m'a generé ce message "impossible .. methode hidden"
car la feuille est protegé et il peut pas cacher la colonne,et j'ai verifier
dans mon programme il n'y a pas active unprotect ou protect, je les ai
supprimé.
Pourquoi ca marche pas ne duxiemes fois?
Et je voudrai proteger seulement le contenu?
donc au niveau des 4 TRUE que tu m'a mit, je souhaite juste proteger le
CONTENTS
comme la ligne s'ecrit alors.
"Worksheets("Feuil1").Protect "toto", True, True, True, True"
autre chose pour ma feuille qui se genere automatiquement, comment la
proteger?
merci de ton aide
Bonsoir Jean,
ATTENTION : SI tu as des difficultés à retrouver les messages qui te parviennent, pourquoi ne les enregistres-tu pas
dans un répertoire sur ton disque dur.
Tu ouvres le petite programme "NotePad" et tu fais un copier-coller des messages que tu veux conserver... cela
t'évitera
de chercher les réponses reçues ! Et ces réponses seront toujours disponibles !
Copie d'un message que je t'ai envoyée hier.
ce que tu as proposé c'est correct. Sauf lorsque l'on a beaucoup de macro, cela peut devenir lourd de déprotéger et de
re-protéger les feuilles à chaque instant.
Voici une façon de faire qui permet d'exécuter toutes les macros que tu désires même si les feuilles sont protégés.
Dans
tout le reste de ton code, tu n'auras plus à tenir compte de la protection de tes feuilles pour exécuter les macros.
Il
sera inutile d'ajouter les lignes de code que tu proposes.
Voici comment faire : à chaque fois que tu vas ouvrir ton classeur, la procédure "Workbook_Activate" va s'exécuter
toute
seule... c'est aussi une procédure événementielle... et cette dernière va protéger toutes les feuilles de ton classeur
sans exception. L'usager de ces feuilles ne pourra rien modifier manuellement, mais toutes les macros d'effectueront
sans te soucier du fait que ces feuilles sont protégées
Dans le THISWORKBOOK de ton projet copie ceci :
'--------------------------------
Private Sub Workbook_Activate()
Proteger_Les_Feuilles
End Sub
Dans un module Standard, copie ceci
toto dans la procédure représente le mot de passe
tu peux utiliser celui que tu préfères ....
Tu répètes la ligne de commande pour chacune des feuilles
que tu désires protéger.
'-------------------------
Sub Proteger_Les_Feuilles()
Worksheets("Feuil1").Protect "toto", True, True, True, True
Worksheets("Feuil2").Protect "toto", True, True, True, True
Worksheets("Feuil3").Protect "toto", True, True, True, True
End Sub
'-------------------------
Lorsque ces 2 macros seront en place, ferme ton classeur et observe ce qui se passe à l'ouverture de celui-ci lorsque
tu
effectueras des macros sur les feuilles protégées.
Salutations!
"JEAN" <JEAN@discussions.microsoft.com> a écrit dans le message de news:
B4675C48-3A71-4895-A89A-1BF64CDBFA87@microsoft.com...
Bonjour,
J'ai des macros qui se déroule dans mon classeur, étant donné qu'auparavant
les feuilles n'etait pas protegé et que maintenant je veux protegé mes trois
feuilles quelle serait le code à mettre qui me permettrai d'executer les
macros meme si mes feuilles sont protégés.
merci
Bonjour Jean,
Effectivement Jean, tu as raison. Je t'ai induis en erreur. Cette façon d'écrire cette ligne de code ne fonctionne pas
dans ce cas précis et pourtant, il n'y a pas d'erreur (?) ... c'est juste un truc merdique d'excel. Peut être il y
a-t-il un MVP qui en connaît-il la cause.
Au lieu de renseigner seulement la valeur des arguments de la méthode "Protect", tu te dois de les nommer.
Remplace cette syntaxe
Worksheets("Feuil1").Protect True, True, True, True
PAR :
(ceci est seulement une ligne de code, elle sera probablement coupée par le service de messagerie... il faut donc la
remettre sur une seule ligne pour qu'elle fonctionne. Cette fois, j'ai testé et il n'y a pas de problème avec excel 2002
et probablement pour toutes les versions excel 97 à 2003
Worksheets("Feuil1").Protect DrawingObjects:=True, Contents:=True, Scenarios:=True, UserInterfaceOnly:=True
si tu veux utiliser un mot de passe comme "toto" par exemple, la ligne de code deviendra :
Worksheets("Feuil1").Protect Password:="toto", DrawingObjects:=True, Contents:=True, Scenarios:=True,
UserInterfaceOnly:=True
L'autre partie de ta question, il est tout à fait possible de masquer des colonnes ou de les afficher sur une feuille
masquée avec des commandes comme celle-là. Tu peux appeler ce code aussi souvent que bon te semble et cela ne devrait
pas te causer de soucis. Probablement la cause provient du fait que la ligne de code "Protect" ne faisait pas du bon
travail à l'ouverture du classeur !
Worksheets("Feuil1").Visible = xlVeryHidden
Worksheets("feuil1").Columns("C").Hidden = True
P.S. Durant l'élaboration de ton code, il est préférable que tu n'actives pas cette procédure (celle qui protège tes
feuilles à l'ouverture) , car comme c'est possible lors de tes tests sur les autres procédures de ton classeur que la
fenêtre "Debugg" s'ouvre signalant un "problème" ....le fait que l'application "tombe en erreur" a un effet sur la
protection des feuilles fait de cette manière et que cela te cause des difficultés. Réserve la protection de tes
feuilles lorsque tu auras terminé les autres aspects de ton programme .
Salutations!
"JEAN" a écrit dans le message de news:
oui j'ai essayé cela a marché une fois, et quand j'ai réouvert mon classeur,
ca m'a generé ce message "impossible .. methode hidden"
car la feuille est protegé et il peut pas cacher la colonne,et j'ai verifier
dans mon programme il n'y a pas active unprotect ou protect, je les ai
supprimé.
Pourquoi ca marche pas ne duxiemes fois?
Et je voudrai proteger seulement le contenu?
donc au niveau des 4 TRUE que tu m'a mit, je souhaite juste proteger le
CONTENTS
comme la ligne s'ecrit alors.
"Worksheets("Feuil1").Protect "toto", True, True, True, True"
autre chose pour ma feuille qui se genere automatiquement, comment la
proteger?
merci de ton aideBonsoir Jean,
ATTENTION : SI tu as des difficultés à retrouver les messages qui te parviennent, pourquoi ne les enregistres-tu pas
dans un répertoire sur ton disque dur.
Tu ouvres le petite programme "NotePad" et tu fais un copier-coller des messages que tu veux conserver... cela
t'évitera
de chercher les réponses reçues ! Et ces réponses seront toujours disponibles !
Copie d'un message que je t'ai envoyée hier.
ce que tu as proposé c'est correct. Sauf lorsque l'on a beaucoup de macro, cela peut devenir lourd de déprotéger et de
re-protéger les feuilles à chaque instant.
Voici une façon de faire qui permet d'exécuter toutes les macros que tu désires même si les feuilles sont protégés.
Dans
tout le reste de ton code, tu n'auras plus à tenir compte de la protection de tes feuilles pour exécuter les macros.
Il
sera inutile d'ajouter les lignes de code que tu proposes.
Voici comment faire : à chaque fois que tu vas ouvrir ton classeur, la procédure "Workbook_Activate" va s'exécuter
toute
seule... c'est aussi une procédure événementielle... et cette dernière va protéger toutes les feuilles de ton classeur
sans exception. L'usager de ces feuilles ne pourra rien modifier manuellement, mais toutes les macros d'effectueront
sans te soucier du fait que ces feuilles sont protégées
Dans le THISWORKBOOK de ton projet copie ceci :
'--------------------------------
Private Sub Workbook_Activate()
Proteger_Les_Feuilles
End Sub
Dans un module Standard, copie ceci
toto dans la procédure représente le mot de passe
tu peux utiliser celui que tu préfères ....
Tu répètes la ligne de commande pour chacune des feuilles
que tu désires protéger.
'-------------------------
Sub Proteger_Les_Feuilles()
Worksheets("Feuil1").Protect "toto", True, True, True, True
Worksheets("Feuil2").Protect "toto", True, True, True, True
Worksheets("Feuil3").Protect "toto", True, True, True, True
End Sub
'-------------------------
Lorsque ces 2 macros seront en place, ferme ton classeur et observe ce qui se passe à l'ouverture de celui-ci lorsque
tu
effectueras des macros sur les feuilles protégées.
Salutations!
"JEAN" a écrit dans le message de news:
Bonjour,
J'ai des macros qui se déroule dans mon classeur, étant donné qu'auparavant
les feuilles n'etait pas protegé et que maintenant je veux protegé mes trois
feuilles quelle serait le code à mettre qui me permettrai d'executer les
macros meme si mes feuilles sont protégés.
merci
Bonjour Jean,
Effectivement Jean, tu as raison. Je t'ai induis en erreur. Cette façon d'écrire cette ligne de code ne fonctionne pas
dans ce cas précis et pourtant, il n'y a pas d'erreur (?) ... c'est juste un truc merdique d'excel. Peut être il y
a-t-il un MVP qui en connaît-il la cause.
Au lieu de renseigner seulement la valeur des arguments de la méthode "Protect", tu te dois de les nommer.
Remplace cette syntaxe
Worksheets("Feuil1").Protect True, True, True, True
PAR :
(ceci est seulement une ligne de code, elle sera probablement coupée par le service de messagerie... il faut donc la
remettre sur une seule ligne pour qu'elle fonctionne. Cette fois, j'ai testé et il n'y a pas de problème avec excel
2002
et probablement pour toutes les versions excel 97 à 2003
Worksheets("Feuil1").Protect DrawingObjects:=True, Contents:=True, Scenarios:=True, UserInterfaceOnly:=True
si tu veux utiliser un mot de passe comme "toto" par exemple, la ligne de code deviendra :
Worksheets("Feuil1").Protect Password:="toto", DrawingObjects:=True, Contents:=True, Scenarios:=True,
UserInterfaceOnly:=True
L'autre partie de ta question, il est tout à fait possible de masquer des colonnes ou de les afficher sur une feuille
masquée avec des commandes comme celle-là. Tu peux appeler ce code aussi souvent que bon te semble et cela ne devrait
pas te causer de soucis. Probablement la cause provient du fait que la ligne de code "Protect" ne faisait pas du bon
travail à l'ouverture du classeur !
Worksheets("Feuil1").Visible = xlVeryHidden
Worksheets("feuil1").Columns("C").Hidden = True
P.S. Durant l'élaboration de ton code, il est préférable que tu n'actives pas cette procédure (celle qui protège tes
feuilles à l'ouverture) , car comme c'est possible lors de tes tests sur les autres procédures de ton classeur que la
fenêtre "Debugg" s'ouvre signalant un "problème" ....le fait que l'application "tombe en erreur" a un effet sur la
protection des feuilles fait de cette manière et que cela te cause des difficultés. Réserve la protection de tes
feuilles lorsque tu auras terminé les autres aspects de ton programme .
Salutations!
"JEAN" a écrit dans le message de news:
oui j'ai essayé cela a marché une fois, et quand j'ai réouvert mon classeur,
ca m'a generé ce message "impossible .. methode hidden"
car la feuille est protegé et il peut pas cacher la colonne,et j'ai verifier
dans mon programme il n'y a pas active unprotect ou protect, je les ai
supprimé.
Pourquoi ca marche pas ne duxiemes fois?
Et je voudrai proteger seulement le contenu?
donc au niveau des 4 TRUE que tu m'a mit, je souhaite juste proteger le
CONTENTS
comme la ligne s'ecrit alors.
"Worksheets("Feuil1").Protect "toto", True, True, True, True"
autre chose pour ma feuille qui se genere automatiquement, comment la
proteger?
merci de ton aideBonsoir Jean,
ATTENTION : SI tu as des difficultés à retrouver les messages qui te parviennent, pourquoi ne les enregistres-tu pas
dans un répertoire sur ton disque dur.
Tu ouvres le petite programme "NotePad" et tu fais un copier-coller des messages que tu veux conserver... cela
t'évitera
de chercher les réponses reçues ! Et ces réponses seront toujours disponibles !
Copie d'un message que je t'ai envoyée hier.
ce que tu as proposé c'est correct. Sauf lorsque l'on a beaucoup de macro, cela peut devenir lourd de déprotéger et
de
re-protéger les feuilles à chaque instant.
Voici une façon de faire qui permet d'exécuter toutes les macros que tu désires même si les feuilles sont protégés.
Dans
tout le reste de ton code, tu n'auras plus à tenir compte de la protection de tes feuilles pour exécuter les macros.
Il
sera inutile d'ajouter les lignes de code que tu proposes.
Voici comment faire : à chaque fois que tu vas ouvrir ton classeur, la procédure "Workbook_Activate" va s'exécuter
toute
seule... c'est aussi une procédure événementielle... et cette dernière va protéger toutes les feuilles de ton
classeur
sans exception. L'usager de ces feuilles ne pourra rien modifier manuellement, mais toutes les macros d'effectueront
sans te soucier du fait que ces feuilles sont protégées
Dans le THISWORKBOOK de ton projet copie ceci :
'--------------------------------
Private Sub Workbook_Activate()
Proteger_Les_Feuilles
End Sub
Dans un module Standard, copie ceci
toto dans la procédure représente le mot de passe
tu peux utiliser celui que tu préfères ....
Tu répètes la ligne de commande pour chacune des feuilles
que tu désires protéger.
'-------------------------
Sub Proteger_Les_Feuilles()
Worksheets("Feuil1").Protect "toto", True, True, True, True
Worksheets("Feuil2").Protect "toto", True, True, True, True
Worksheets("Feuil3").Protect "toto", True, True, True, True
End Sub
'-------------------------
Lorsque ces 2 macros seront en place, ferme ton classeur et observe ce qui se passe à l'ouverture de celui-ci
lorsque
tu
effectueras des macros sur les feuilles protégées.
Salutations!
"JEAN" a écrit dans le message de news:
Bonjour,
J'ai des macros qui se déroule dans mon classeur, étant donné qu'auparavant
les feuilles n'etait pas protegé et que maintenant je veux protegé mes trois
feuilles quelle serait le code à mettre qui me permettrai d'executer les
macros meme si mes feuilles sont protégés.
merci
Bonjour Jean,
Effectivement Jean, tu as raison. Je t'ai induis en erreur. Cette façon d'écrire cette ligne de code ne fonctionne pas
dans ce cas précis et pourtant, il n'y a pas d'erreur (?) ... c'est juste un truc merdique d'excel. Peut être il y
a-t-il un MVP qui en connaît-il la cause.
Au lieu de renseigner seulement la valeur des arguments de la méthode "Protect", tu te dois de les nommer.
Remplace cette syntaxe
Worksheets("Feuil1").Protect True, True, True, True
PAR :
(ceci est seulement une ligne de code, elle sera probablement coupée par le service de messagerie... il faut donc la
remettre sur une seule ligne pour qu'elle fonctionne. Cette fois, j'ai testé et il n'y a pas de problème avec excel
2002
et probablement pour toutes les versions excel 97 à 2003
Worksheets("Feuil1").Protect DrawingObjects:=True, Contents:=True, Scenarios:=True, UserInterfaceOnly:=True
si tu veux utiliser un mot de passe comme "toto" par exemple, la ligne de code deviendra :
Worksheets("Feuil1").Protect Password:="toto", DrawingObjects:=True, Contents:=True, Scenarios:=True,
UserInterfaceOnly:=True
L'autre partie de ta question, il est tout à fait possible de masquer des colonnes ou de les afficher sur une feuille
masquée avec des commandes comme celle-là. Tu peux appeler ce code aussi souvent que bon te semble et cela ne devrait
pas te causer de soucis. Probablement la cause provient du fait que la ligne de code "Protect" ne faisait pas du bon
travail à l'ouverture du classeur !
Worksheets("Feuil1").Visible = xlVeryHidden
Worksheets("feuil1").Columns("C").Hidden = True
P.S. Durant l'élaboration de ton code, il est préférable que tu n'actives pas cette procédure (celle qui protège tes
feuilles à l'ouverture) , car comme c'est possible lors de tes tests sur les autres procédures de ton classeur que la
fenêtre "Debugg" s'ouvre signalant un "problème" ....le fait que l'application "tombe en erreur" a un effet sur la
protection des feuilles fait de cette manière et que cela te cause des difficultés. Réserve la protection de tes
feuilles lorsque tu auras terminé les autres aspects de ton programme .
Salutations!
"JEAN" <JEAN@discussions.microsoft.com> a écrit dans le message de news:
88372869-C9B3-442E-BFF8-7A0F4A76AEA1@microsoft.com...
oui j'ai essayé cela a marché une fois, et quand j'ai réouvert mon classeur,
ca m'a generé ce message "impossible .. methode hidden"
car la feuille est protegé et il peut pas cacher la colonne,et j'ai verifier
dans mon programme il n'y a pas active unprotect ou protect, je les ai
supprimé.
Pourquoi ca marche pas ne duxiemes fois?
Et je voudrai proteger seulement le contenu?
donc au niveau des 4 TRUE que tu m'a mit, je souhaite juste proteger le
CONTENTS
comme la ligne s'ecrit alors.
"Worksheets("Feuil1").Protect "toto", True, True, True, True"
autre chose pour ma feuille qui se genere automatiquement, comment la
proteger?
merci de ton aide
Bonsoir Jean,
ATTENTION : SI tu as des difficultés à retrouver les messages qui te parviennent, pourquoi ne les enregistres-tu pas
dans un répertoire sur ton disque dur.
Tu ouvres le petite programme "NotePad" et tu fais un copier-coller des messages que tu veux conserver... cela
t'évitera
de chercher les réponses reçues ! Et ces réponses seront toujours disponibles !
Copie d'un message que je t'ai envoyée hier.
ce que tu as proposé c'est correct. Sauf lorsque l'on a beaucoup de macro, cela peut devenir lourd de déprotéger et
de
re-protéger les feuilles à chaque instant.
Voici une façon de faire qui permet d'exécuter toutes les macros que tu désires même si les feuilles sont protégés.
Dans
tout le reste de ton code, tu n'auras plus à tenir compte de la protection de tes feuilles pour exécuter les macros.
Il
sera inutile d'ajouter les lignes de code que tu proposes.
Voici comment faire : à chaque fois que tu vas ouvrir ton classeur, la procédure "Workbook_Activate" va s'exécuter
toute
seule... c'est aussi une procédure événementielle... et cette dernière va protéger toutes les feuilles de ton
classeur
sans exception. L'usager de ces feuilles ne pourra rien modifier manuellement, mais toutes les macros d'effectueront
sans te soucier du fait que ces feuilles sont protégées
Dans le THISWORKBOOK de ton projet copie ceci :
'--------------------------------
Private Sub Workbook_Activate()
Proteger_Les_Feuilles
End Sub
Dans un module Standard, copie ceci
toto dans la procédure représente le mot de passe
tu peux utiliser celui que tu préfères ....
Tu répètes la ligne de commande pour chacune des feuilles
que tu désires protéger.
'-------------------------
Sub Proteger_Les_Feuilles()
Worksheets("Feuil1").Protect "toto", True, True, True, True
Worksheets("Feuil2").Protect "toto", True, True, True, True
Worksheets("Feuil3").Protect "toto", True, True, True, True
End Sub
'-------------------------
Lorsque ces 2 macros seront en place, ferme ton classeur et observe ce qui se passe à l'ouverture de celui-ci
lorsque
tu
effectueras des macros sur les feuilles protégées.
Salutations!
"JEAN" <JEAN@discussions.microsoft.com> a écrit dans le message de news:
B4675C48-3A71-4895-A89A-1BF64CDBFA87@microsoft.com...
Bonjour,
J'ai des macros qui se déroule dans mon classeur, étant donné qu'auparavant
les feuilles n'etait pas protegé et que maintenant je veux protegé mes trois
feuilles quelle serait le code à mettre qui me permettrai d'executer les
macros meme si mes feuilles sont protégés.
merci
Bonjour Jean,
Effectivement Jean, tu as raison. Je t'ai induis en erreur. Cette façon d'écrire cette ligne de code ne fonctionne pas
dans ce cas précis et pourtant, il n'y a pas d'erreur (?) ... c'est juste un truc merdique d'excel. Peut être il y
a-t-il un MVP qui en connaît-il la cause.
Au lieu de renseigner seulement la valeur des arguments de la méthode "Protect", tu te dois de les nommer.
Remplace cette syntaxe
Worksheets("Feuil1").Protect True, True, True, True
PAR :
(ceci est seulement une ligne de code, elle sera probablement coupée par le service de messagerie... il faut donc la
remettre sur une seule ligne pour qu'elle fonctionne. Cette fois, j'ai testé et il n'y a pas de problème avec excel
2002
et probablement pour toutes les versions excel 97 à 2003
Worksheets("Feuil1").Protect DrawingObjects:=True, Contents:=True, Scenarios:=True, UserInterfaceOnly:=True
si tu veux utiliser un mot de passe comme "toto" par exemple, la ligne de code deviendra :
Worksheets("Feuil1").Protect Password:="toto", DrawingObjects:=True, Contents:=True, Scenarios:=True,
UserInterfaceOnly:=True
L'autre partie de ta question, il est tout à fait possible de masquer des colonnes ou de les afficher sur une feuille
masquée avec des commandes comme celle-là. Tu peux appeler ce code aussi souvent que bon te semble et cela ne devrait
pas te causer de soucis. Probablement la cause provient du fait que la ligne de code "Protect" ne faisait pas du bon
travail à l'ouverture du classeur !
Worksheets("Feuil1").Visible = xlVeryHidden
Worksheets("feuil1").Columns("C").Hidden = True
P.S. Durant l'élaboration de ton code, il est préférable que tu n'actives pas cette procédure (celle qui protège tes
feuilles à l'ouverture) , car comme c'est possible lors de tes tests sur les autres procédures de ton classeur que la
fenêtre "Debugg" s'ouvre signalant un "problème" ....le fait que l'application "tombe en erreur" a un effet sur la
protection des feuilles fait de cette manière et que cela te cause des difficultés. Réserve la protection de tes
feuilles lorsque tu auras terminé les autres aspects de ton programme .
Salutations!
"JEAN" a écrit dans le message de news:
oui j'ai essayé cela a marché une fois, et quand j'ai réouvert mon classeur,
ca m'a generé ce message "impossible .. methode hidden"
car la feuille est protegé et il peut pas cacher la colonne,et j'ai verifier
dans mon programme il n'y a pas active unprotect ou protect, je les ai
supprimé.
Pourquoi ca marche pas ne duxiemes fois?
Et je voudrai proteger seulement le contenu?
donc au niveau des 4 TRUE que tu m'a mit, je souhaite juste proteger le
CONTENTS
comme la ligne s'ecrit alors.
"Worksheets("Feuil1").Protect "toto", True, True, True, True"
autre chose pour ma feuille qui se genere automatiquement, comment la
proteger?
merci de ton aideBonsoir Jean,
ATTENTION : SI tu as des difficultés à retrouver les messages qui te parviennent, pourquoi ne les enregistres-tu pas
dans un répertoire sur ton disque dur.
Tu ouvres le petite programme "NotePad" et tu fais un copier-coller des messages que tu veux conserver... cela
t'évitera
de chercher les réponses reçues ! Et ces réponses seront toujours disponibles !
Copie d'un message que je t'ai envoyée hier.
ce que tu as proposé c'est correct. Sauf lorsque l'on a beaucoup de macro, cela peut devenir lourd de déprotéger et
de
re-protéger les feuilles à chaque instant.
Voici une façon de faire qui permet d'exécuter toutes les macros que tu désires même si les feuilles sont protégés.
Dans
tout le reste de ton code, tu n'auras plus à tenir compte de la protection de tes feuilles pour exécuter les macros.
Il
sera inutile d'ajouter les lignes de code que tu proposes.
Voici comment faire : à chaque fois que tu vas ouvrir ton classeur, la procédure "Workbook_Activate" va s'exécuter
toute
seule... c'est aussi une procédure événementielle... et cette dernière va protéger toutes les feuilles de ton
classeur
sans exception. L'usager de ces feuilles ne pourra rien modifier manuellement, mais toutes les macros d'effectueront
sans te soucier du fait que ces feuilles sont protégées
Dans le THISWORKBOOK de ton projet copie ceci :
'--------------------------------
Private Sub Workbook_Activate()
Proteger_Les_Feuilles
End Sub
Dans un module Standard, copie ceci
toto dans la procédure représente le mot de passe
tu peux utiliser celui que tu préfères ....
Tu répètes la ligne de commande pour chacune des feuilles
que tu désires protéger.
'-------------------------
Sub Proteger_Les_Feuilles()
Worksheets("Feuil1").Protect "toto", True, True, True, True
Worksheets("Feuil2").Protect "toto", True, True, True, True
Worksheets("Feuil3").Protect "toto", True, True, True, True
End Sub
'-------------------------
Lorsque ces 2 macros seront en place, ferme ton classeur et observe ce qui se passe à l'ouverture de celui-ci
lorsque
tu
effectueras des macros sur les feuilles protégées.
Salutations!
"JEAN" a écrit dans le message de news:
Bonjour,
J'ai des macros qui se déroule dans mon classeur, étant donné qu'auparavant
les feuilles n'etait pas protegé et que maintenant je veux protegé mes trois
feuilles quelle serait le code à mettre qui me permettrai d'executer les
macros meme si mes feuilles sont protégés.
merci
Bonjour Jean,
Worksheets("Feuil1").Protect DrawingObjects:úlse, Contents:=True,
Scenarios:úlse, UserInterfaceOnly:=True
C'est une ligne de code qui est utilisé une fois à l'ouverture du classeur et c'est tout. Nul besoin de la ré-exécuter à
nouveau !
Salutations!
"JEAN" a écrit dans le message de news:
c'est toujours pareil, j'ai essayé cette ligne
Worksheets("Feuil1").Protect DrawingObjects:úlse, Contents:=True,
Scenarios:úlse, UserInterfaceOnly:=True
ca passe une fois, mais la seconde fois ca bug avec impossible de definir la
methode de la classe range.
????????????bizaarreBonjour Jean,
Effectivement Jean, tu as raison. Je t'ai induis en erreur. Cette façon d'écrire cette ligne de code ne fonctionne pas
dans ce cas précis et pourtant, il n'y a pas d'erreur (?) ... c'est juste un truc merdique d'excel. Peut être il y
a-t-il un MVP qui en connaît-il la cause.
Au lieu de renseigner seulement la valeur des arguments de la méthode "Protect", tu te dois de les nommer.
Remplace cette syntaxe
Worksheets("Feuil1").Protect True, True, True, True
PAR :
(ceci est seulement une ligne de code, elle sera probablement coupée par le service de messagerie... il faut donc la
remettre sur une seule ligne pour qu'elle fonctionne. Cette fois, j'ai testé et il n'y a pas de problème avec excel
2002
et probablement pour toutes les versions excel 97 à 2003
Worksheets("Feuil1").Protect DrawingObjects:=True, Contents:=True, Scenarios:=True, UserInterfaceOnly:=True
si tu veux utiliser un mot de passe comme "toto" par exemple, la ligne de code deviendra :
Worksheets("Feuil1").Protect Password:="toto", DrawingObjects:=True, Contents:=True, Scenarios:=True,
UserInterfaceOnly:=True
L'autre partie de ta question, il est tout à fait possible de masquer des colonnes ou de les afficher sur une feuille
masquée avec des commandes comme celle-là. Tu peux appeler ce code aussi souvent que bon te semble et cela ne devrait
pas te causer de soucis. Probablement la cause provient du fait que la ligne de code "Protect" ne faisait pas du bon
travail à l'ouverture du classeur !
Worksheets("Feuil1").Visible = xlVeryHidden
Worksheets("feuil1").Columns("C").Hidden = True
P.S. Durant l'élaboration de ton code, il est préférable que tu n'actives pas cette procédure (celle qui protège tes
feuilles à l'ouverture) , car comme c'est possible lors de tes tests sur les autres procédures de ton classeur que la
fenêtre "Debugg" s'ouvre signalant un "problème" ....le fait que l'application "tombe en erreur" a un effet sur la
protection des feuilles fait de cette manière et que cela te cause des difficultés. Réserve la protection de tes
feuilles lorsque tu auras terminé les autres aspects de ton programme .
Salutations!
"JEAN" a écrit dans le message de news:
oui j'ai essayé cela a marché une fois, et quand j'ai réouvert mon classeur,
ca m'a generé ce message "impossible .. methode hidden"
car la feuille est protegé et il peut pas cacher la colonne,et j'ai verifier
dans mon programme il n'y a pas active unprotect ou protect, je les ai
supprimé.
Pourquoi ca marche pas ne duxiemes fois?
Et je voudrai proteger seulement le contenu?
donc au niveau des 4 TRUE que tu m'a mit, je souhaite juste proteger le
CONTENTS
comme la ligne s'ecrit alors.
"Worksheets("Feuil1").Protect "toto", True, True, True, True"
autre chose pour ma feuille qui se genere automatiquement, comment la
proteger?
merci de ton aideBonsoir Jean,
ATTENTION : SI tu as des difficultés à retrouver les messages qui te parviennent, pourquoi ne les enregistres-tu pas
dans un répertoire sur ton disque dur.
Tu ouvres le petite programme "NotePad" et tu fais un copier-coller des messages que tu veux conserver... cela
t'évitera
de chercher les réponses reçues ! Et ces réponses seront toujours disponibles !
Copie d'un message que je t'ai envoyée hier.
ce que tu as proposé c'est correct. Sauf lorsque l'on a beaucoup de macro, cela peut devenir lourd de déprotéger et
de
re-protéger les feuilles à chaque instant.
Voici une façon de faire qui permet d'exécuter toutes les macros que tu désires même si les feuilles sont protégés.
Dans
tout le reste de ton code, tu n'auras plus à tenir compte de la protection de tes feuilles pour exécuter les macros.
Il
sera inutile d'ajouter les lignes de code que tu proposes.
Voici comment faire : à chaque fois que tu vas ouvrir ton classeur, la procédure "Workbook_Activate" va s'exécuter
toute
seule... c'est aussi une procédure événementielle... et cette dernière va protéger toutes les feuilles de ton
classeur
sans exception. L'usager de ces feuilles ne pourra rien modifier manuellement, mais toutes les macros d'effectueront
sans te soucier du fait que ces feuilles sont protégées
Dans le THISWORKBOOK de ton projet copie ceci :
'--------------------------------
Private Sub Workbook_Activate()
Proteger_Les_Feuilles
End Sub
Dans un module Standard, copie ceci
toto dans la procédure représente le mot de passe
tu peux utiliser celui que tu préfères ....
Tu répètes la ligne de commande pour chacune des feuilles
que tu désires protéger.
'-------------------------
Sub Proteger_Les_Feuilles()
Worksheets("Feuil1").Protect "toto", True, True, True, True
Worksheets("Feuil2").Protect "toto", True, True, True, True
Worksheets("Feuil3").Protect "toto", True, True, True, True
End Sub
'-------------------------
Lorsque ces 2 macros seront en place, ferme ton classeur et observe ce qui se passe à l'ouverture de celui-ci
lorsque
tu
effectueras des macros sur les feuilles protégées.
Salutations!
"JEAN" a écrit dans le message de news:
Bonjour,
J'ai des macros qui se déroule dans mon classeur, étant donné qu'auparavant
les feuilles n'etait pas protegé et que maintenant je veux protegé mes trois
feuilles quelle serait le code à mettre qui me permettrai d'executer les
macros meme si mes feuilles sont protégés.
merci
Bonjour Jean,
Worksheets("Feuil1").Protect DrawingObjects:úlse, Contents:=True,
Scenarios:úlse, UserInterfaceOnly:=True
C'est une ligne de code qui est utilisé une fois à l'ouverture du classeur et c'est tout. Nul besoin de la ré-exécuter à
nouveau !
Salutations!
"JEAN" <JEAN@discussions.microsoft.com> a écrit dans le message de news:
F901BB0C-B2E0-4B9F-93F8-497D86BF87A9@microsoft.com...
c'est toujours pareil, j'ai essayé cette ligne
Worksheets("Feuil1").Protect DrawingObjects:úlse, Contents:=True,
Scenarios:úlse, UserInterfaceOnly:=True
ca passe une fois, mais la seconde fois ca bug avec impossible de definir la
methode de la classe range.
????????????bizaarre
Bonjour Jean,
Effectivement Jean, tu as raison. Je t'ai induis en erreur. Cette façon d'écrire cette ligne de code ne fonctionne pas
dans ce cas précis et pourtant, il n'y a pas d'erreur (?) ... c'est juste un truc merdique d'excel. Peut être il y
a-t-il un MVP qui en connaît-il la cause.
Au lieu de renseigner seulement la valeur des arguments de la méthode "Protect", tu te dois de les nommer.
Remplace cette syntaxe
Worksheets("Feuil1").Protect True, True, True, True
PAR :
(ceci est seulement une ligne de code, elle sera probablement coupée par le service de messagerie... il faut donc la
remettre sur une seule ligne pour qu'elle fonctionne. Cette fois, j'ai testé et il n'y a pas de problème avec excel
2002
et probablement pour toutes les versions excel 97 à 2003
Worksheets("Feuil1").Protect DrawingObjects:=True, Contents:=True, Scenarios:=True, UserInterfaceOnly:=True
si tu veux utiliser un mot de passe comme "toto" par exemple, la ligne de code deviendra :
Worksheets("Feuil1").Protect Password:="toto", DrawingObjects:=True, Contents:=True, Scenarios:=True,
UserInterfaceOnly:=True
L'autre partie de ta question, il est tout à fait possible de masquer des colonnes ou de les afficher sur une feuille
masquée avec des commandes comme celle-là. Tu peux appeler ce code aussi souvent que bon te semble et cela ne devrait
pas te causer de soucis. Probablement la cause provient du fait que la ligne de code "Protect" ne faisait pas du bon
travail à l'ouverture du classeur !
Worksheets("Feuil1").Visible = xlVeryHidden
Worksheets("feuil1").Columns("C").Hidden = True
P.S. Durant l'élaboration de ton code, il est préférable que tu n'actives pas cette procédure (celle qui protège tes
feuilles à l'ouverture) , car comme c'est possible lors de tes tests sur les autres procédures de ton classeur que la
fenêtre "Debugg" s'ouvre signalant un "problème" ....le fait que l'application "tombe en erreur" a un effet sur la
protection des feuilles fait de cette manière et que cela te cause des difficultés. Réserve la protection de tes
feuilles lorsque tu auras terminé les autres aspects de ton programme .
Salutations!
"JEAN" <JEAN@discussions.microsoft.com> a écrit dans le message de news:
88372869-C9B3-442E-BFF8-7A0F4A76AEA1@microsoft.com...
oui j'ai essayé cela a marché une fois, et quand j'ai réouvert mon classeur,
ca m'a generé ce message "impossible .. methode hidden"
car la feuille est protegé et il peut pas cacher la colonne,et j'ai verifier
dans mon programme il n'y a pas active unprotect ou protect, je les ai
supprimé.
Pourquoi ca marche pas ne duxiemes fois?
Et je voudrai proteger seulement le contenu?
donc au niveau des 4 TRUE que tu m'a mit, je souhaite juste proteger le
CONTENTS
comme la ligne s'ecrit alors.
"Worksheets("Feuil1").Protect "toto", True, True, True, True"
autre chose pour ma feuille qui se genere automatiquement, comment la
proteger?
merci de ton aide
Bonsoir Jean,
ATTENTION : SI tu as des difficultés à retrouver les messages qui te parviennent, pourquoi ne les enregistres-tu pas
dans un répertoire sur ton disque dur.
Tu ouvres le petite programme "NotePad" et tu fais un copier-coller des messages que tu veux conserver... cela
t'évitera
de chercher les réponses reçues ! Et ces réponses seront toujours disponibles !
Copie d'un message que je t'ai envoyée hier.
ce que tu as proposé c'est correct. Sauf lorsque l'on a beaucoup de macro, cela peut devenir lourd de déprotéger et
de
re-protéger les feuilles à chaque instant.
Voici une façon de faire qui permet d'exécuter toutes les macros que tu désires même si les feuilles sont protégés.
Dans
tout le reste de ton code, tu n'auras plus à tenir compte de la protection de tes feuilles pour exécuter les macros.
Il
sera inutile d'ajouter les lignes de code que tu proposes.
Voici comment faire : à chaque fois que tu vas ouvrir ton classeur, la procédure "Workbook_Activate" va s'exécuter
toute
seule... c'est aussi une procédure événementielle... et cette dernière va protéger toutes les feuilles de ton
classeur
sans exception. L'usager de ces feuilles ne pourra rien modifier manuellement, mais toutes les macros d'effectueront
sans te soucier du fait que ces feuilles sont protégées
Dans le THISWORKBOOK de ton projet copie ceci :
'--------------------------------
Private Sub Workbook_Activate()
Proteger_Les_Feuilles
End Sub
Dans un module Standard, copie ceci
toto dans la procédure représente le mot de passe
tu peux utiliser celui que tu préfères ....
Tu répètes la ligne de commande pour chacune des feuilles
que tu désires protéger.
'-------------------------
Sub Proteger_Les_Feuilles()
Worksheets("Feuil1").Protect "toto", True, True, True, True
Worksheets("Feuil2").Protect "toto", True, True, True, True
Worksheets("Feuil3").Protect "toto", True, True, True, True
End Sub
'-------------------------
Lorsque ces 2 macros seront en place, ferme ton classeur et observe ce qui se passe à l'ouverture de celui-ci
lorsque
tu
effectueras des macros sur les feuilles protégées.
Salutations!
"JEAN" <JEAN@discussions.microsoft.com> a écrit dans le message de news:
B4675C48-3A71-4895-A89A-1BF64CDBFA87@microsoft.com...
Bonjour,
J'ai des macros qui se déroule dans mon classeur, étant donné qu'auparavant
les feuilles n'etait pas protegé et que maintenant je veux protegé mes trois
feuilles quelle serait le code à mettre qui me permettrai d'executer les
macros meme si mes feuilles sont protégés.
merci
Bonjour Jean,
Worksheets("Feuil1").Protect DrawingObjects:úlse, Contents:=True,
Scenarios:úlse, UserInterfaceOnly:=True
C'est une ligne de code qui est utilisé une fois à l'ouverture du classeur et c'est tout. Nul besoin de la ré-exécuter à
nouveau !
Salutations!
"JEAN" a écrit dans le message de news:
c'est toujours pareil, j'ai essayé cette ligne
Worksheets("Feuil1").Protect DrawingObjects:úlse, Contents:=True,
Scenarios:úlse, UserInterfaceOnly:=True
ca passe une fois, mais la seconde fois ca bug avec impossible de definir la
methode de la classe range.
????????????bizaarreBonjour Jean,
Effectivement Jean, tu as raison. Je t'ai induis en erreur. Cette façon d'écrire cette ligne de code ne fonctionne pas
dans ce cas précis et pourtant, il n'y a pas d'erreur (?) ... c'est juste un truc merdique d'excel. Peut être il y
a-t-il un MVP qui en connaît-il la cause.
Au lieu de renseigner seulement la valeur des arguments de la méthode "Protect", tu te dois de les nommer.
Remplace cette syntaxe
Worksheets("Feuil1").Protect True, True, True, True
PAR :
(ceci est seulement une ligne de code, elle sera probablement coupée par le service de messagerie... il faut donc la
remettre sur une seule ligne pour qu'elle fonctionne. Cette fois, j'ai testé et il n'y a pas de problème avec excel
2002
et probablement pour toutes les versions excel 97 à 2003
Worksheets("Feuil1").Protect DrawingObjects:=True, Contents:=True, Scenarios:=True, UserInterfaceOnly:=True
si tu veux utiliser un mot de passe comme "toto" par exemple, la ligne de code deviendra :
Worksheets("Feuil1").Protect Password:="toto", DrawingObjects:=True, Contents:=True, Scenarios:=True,
UserInterfaceOnly:=True
L'autre partie de ta question, il est tout à fait possible de masquer des colonnes ou de les afficher sur une feuille
masquée avec des commandes comme celle-là. Tu peux appeler ce code aussi souvent que bon te semble et cela ne devrait
pas te causer de soucis. Probablement la cause provient du fait que la ligne de code "Protect" ne faisait pas du bon
travail à l'ouverture du classeur !
Worksheets("Feuil1").Visible = xlVeryHidden
Worksheets("feuil1").Columns("C").Hidden = True
P.S. Durant l'élaboration de ton code, il est préférable que tu n'actives pas cette procédure (celle qui protège tes
feuilles à l'ouverture) , car comme c'est possible lors de tes tests sur les autres procédures de ton classeur que la
fenêtre "Debugg" s'ouvre signalant un "problème" ....le fait que l'application "tombe en erreur" a un effet sur la
protection des feuilles fait de cette manière et que cela te cause des difficultés. Réserve la protection de tes
feuilles lorsque tu auras terminé les autres aspects de ton programme .
Salutations!
"JEAN" a écrit dans le message de news:
oui j'ai essayé cela a marché une fois, et quand j'ai réouvert mon classeur,
ca m'a generé ce message "impossible .. methode hidden"
car la feuille est protegé et il peut pas cacher la colonne,et j'ai verifier
dans mon programme il n'y a pas active unprotect ou protect, je les ai
supprimé.
Pourquoi ca marche pas ne duxiemes fois?
Et je voudrai proteger seulement le contenu?
donc au niveau des 4 TRUE que tu m'a mit, je souhaite juste proteger le
CONTENTS
comme la ligne s'ecrit alors.
"Worksheets("Feuil1").Protect "toto", True, True, True, True"
autre chose pour ma feuille qui se genere automatiquement, comment la
proteger?
merci de ton aideBonsoir Jean,
ATTENTION : SI tu as des difficultés à retrouver les messages qui te parviennent, pourquoi ne les enregistres-tu pas
dans un répertoire sur ton disque dur.
Tu ouvres le petite programme "NotePad" et tu fais un copier-coller des messages que tu veux conserver... cela
t'évitera
de chercher les réponses reçues ! Et ces réponses seront toujours disponibles !
Copie d'un message que je t'ai envoyée hier.
ce que tu as proposé c'est correct. Sauf lorsque l'on a beaucoup de macro, cela peut devenir lourd de déprotéger et
de
re-protéger les feuilles à chaque instant.
Voici une façon de faire qui permet d'exécuter toutes les macros que tu désires même si les feuilles sont protégés.
Dans
tout le reste de ton code, tu n'auras plus à tenir compte de la protection de tes feuilles pour exécuter les macros.
Il
sera inutile d'ajouter les lignes de code que tu proposes.
Voici comment faire : à chaque fois que tu vas ouvrir ton classeur, la procédure "Workbook_Activate" va s'exécuter
toute
seule... c'est aussi une procédure événementielle... et cette dernière va protéger toutes les feuilles de ton
classeur
sans exception. L'usager de ces feuilles ne pourra rien modifier manuellement, mais toutes les macros d'effectueront
sans te soucier du fait que ces feuilles sont protégées
Dans le THISWORKBOOK de ton projet copie ceci :
'--------------------------------
Private Sub Workbook_Activate()
Proteger_Les_Feuilles
End Sub
Dans un module Standard, copie ceci
toto dans la procédure représente le mot de passe
tu peux utiliser celui que tu préfères ....
Tu répètes la ligne de commande pour chacune des feuilles
que tu désires protéger.
'-------------------------
Sub Proteger_Les_Feuilles()
Worksheets("Feuil1").Protect "toto", True, True, True, True
Worksheets("Feuil2").Protect "toto", True, True, True, True
Worksheets("Feuil3").Protect "toto", True, True, True, True
End Sub
'-------------------------
Lorsque ces 2 macros seront en place, ferme ton classeur et observe ce qui se passe à l'ouverture de celui-ci
lorsque
tu
effectueras des macros sur les feuilles protégées.
Salutations!
"JEAN" a écrit dans le message de news:
Bonjour,
J'ai des macros qui se déroule dans mon classeur, étant donné qu'auparavant
les feuilles n'etait pas protegé et que maintenant je veux protegé mes trois
feuilles quelle serait le code à mettre qui me permettrai d'executer les
macros meme si mes feuilles sont protégés.
merci