Bonsoir Jean,
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,
Pour déproteger une feuille lors de l'execution d'une macro.
c'est bien
ActiveSheet.Unprotect
et pour la remettre en protection c'est:
ActiveSheet.Protect DrawingObjects:úlse, Contents:=True, Scenarios:úlse
c'est ca merci
Bonsoir Jean,
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:
A100208A-F735-43D0-B4C0-7D72693976A9@microsoft.com...
Bonjour,
Pour déproteger une feuille lors de l'execution d'une macro.
c'est bien
ActiveSheet.Unprotect
et pour la remettre en protection c'est:
ActiveSheet.Protect DrawingObjects:úlse, Contents:=True, Scenarios:úlse
c'est ca merci
Bonsoir Jean,
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,
Pour déproteger une feuille lors de l'execution d'une macro.
c'est bien
ActiveSheet.Unprotect
et pour la remettre en protection c'est:
ActiveSheet.Protect DrawingObjects:úlse, Contents:=True, Scenarios:úlse
c'est ca merci
Bonsoir Jean,
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,
Pour déproteger une feuille lors de l'execution d'une macro.
c'est bien
ActiveSheet.Unprotect
et pour la remettre en protection c'est:
ActiveSheet.Protect DrawingObjects:úlse, Contents:=True, Scenarios:úlse
c'est ca merci
Bonsoir Jean,
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:
A100208A-F735-43D0-B4C0-7D72693976A9@microsoft.com...
Bonjour,
Pour déproteger une feuille lors de l'execution d'une macro.
c'est bien
ActiveSheet.Unprotect
et pour la remettre en protection c'est:
ActiveSheet.Protect DrawingObjects:úlse, Contents:=True, Scenarios:úlse
c'est ca merci
Bonsoir Jean,
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,
Pour déproteger une feuille lors de l'execution d'une macro.
c'est bien
ActiveSheet.Unprotect
et pour la remettre en protection c'est:
ActiveSheet.Protect DrawingObjects:úlse, Contents:=True, Scenarios:úlse
c'est ca merci
Bonjour Jean,
Pour utiliser ce que je te suggère :
Met devant chacune des lignes de code qui "protect" ou "unprotect" tes feuilles dans ton programme, une apostrophe pour
désactiver ces lignes de commande. Utilise seulement la procédure que je t'ai transmise. Lorsque ceci est fait,
enregistre, ferme et ré-ouvre ton classeur.. cela doit fonctionner.
Ce type d'erreur : "erreur impossible de trouver la methode hidden de la classe range" est issu probablement d'une
ligne de commande comme celle-là : pour masquer ou afficher une colonne. Si la méthode que je t'ai donnée est bien
appliquée, tu devrais avoir aucune difficulté à faire exécuter cette ligne de code PAR MACRO SEULEMENT.
Worksheets("Feuil1").Columns("C").Hidden = TrueAttention : Cette façon de protéger les feuilles ne résout pas les fautes
de programmation.
Quand excel te propose de "Débugger" ton programme, accepte en répondant oui, il va t'amener directement sur la ligne de
code problème !
Salutations!
"JEAN" a écrit dans le message de news:
ca ne marche pas ca me genere une erreur impossible de trouver la methode
hidden de la classe range, ceci ce fait
car ma feuille 2 est protégé
et dans le module standard j'ai ni active sheetUnprotect au debut et ni
active sheet protect
j'ai utilisé ce que tu m'a donnée mais ca ne passe pas
"michdenis" wrote:Bonsoir Jean,
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,
Pour déproteger une feuille lors de l'execution d'une macro.
c'est bien
ActiveSheet.Unprotect
et pour la remettre en protection c'est:
ActiveSheet.Protect DrawingObjects:úlse, Contents:=True, Scenarios:úlse
c'est ca merci
Bonjour Jean,
Pour utiliser ce que je te suggère :
Met devant chacune des lignes de code qui "protect" ou "unprotect" tes feuilles dans ton programme, une apostrophe pour
désactiver ces lignes de commande. Utilise seulement la procédure que je t'ai transmise. Lorsque ceci est fait,
enregistre, ferme et ré-ouvre ton classeur.. cela doit fonctionner.
Ce type d'erreur : "erreur impossible de trouver la methode hidden de la classe range" est issu probablement d'une
ligne de commande comme celle-là : pour masquer ou afficher une colonne. Si la méthode que je t'ai donnée est bien
appliquée, tu devrais avoir aucune difficulté à faire exécuter cette ligne de code PAR MACRO SEULEMENT.
Worksheets("Feuil1").Columns("C").Hidden = TrueAttention : Cette façon de protéger les feuilles ne résout pas les fautes
de programmation.
Quand excel te propose de "Débugger" ton programme, accepte en répondant oui, il va t'amener directement sur la ligne de
code problème !
Salutations!
"JEAN" <JEAN@discussions.microsoft.com> a écrit dans le message de news:
0C732841-B2AB-4F90-91E3-2942BDEEDAA8@microsoft.com...
ca ne marche pas ca me genere une erreur impossible de trouver la methode
hidden de la classe range, ceci ce fait
car ma feuille 2 est protégé
et dans le module standard j'ai ni active sheetUnprotect au debut et ni
active sheet protect
j'ai utilisé ce que tu m'a donnée mais ca ne passe pas
"michdenis" wrote:
Bonsoir Jean,
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:
A100208A-F735-43D0-B4C0-7D72693976A9@microsoft.com...
Bonjour,
Pour déproteger une feuille lors de l'execution d'une macro.
c'est bien
ActiveSheet.Unprotect
et pour la remettre en protection c'est:
ActiveSheet.Protect DrawingObjects:úlse, Contents:=True, Scenarios:úlse
c'est ca merci
Bonjour Jean,
Pour utiliser ce que je te suggère :
Met devant chacune des lignes de code qui "protect" ou "unprotect" tes feuilles dans ton programme, une apostrophe pour
désactiver ces lignes de commande. Utilise seulement la procédure que je t'ai transmise. Lorsque ceci est fait,
enregistre, ferme et ré-ouvre ton classeur.. cela doit fonctionner.
Ce type d'erreur : "erreur impossible de trouver la methode hidden de la classe range" est issu probablement d'une
ligne de commande comme celle-là : pour masquer ou afficher une colonne. Si la méthode que je t'ai donnée est bien
appliquée, tu devrais avoir aucune difficulté à faire exécuter cette ligne de code PAR MACRO SEULEMENT.
Worksheets("Feuil1").Columns("C").Hidden = TrueAttention : Cette façon de protéger les feuilles ne résout pas les fautes
de programmation.
Quand excel te propose de "Débugger" ton programme, accepte en répondant oui, il va t'amener directement sur la ligne de
code problème !
Salutations!
"JEAN" a écrit dans le message de news:
ca ne marche pas ca me genere une erreur impossible de trouver la methode
hidden de la classe range, ceci ce fait
car ma feuille 2 est protégé
et dans le module standard j'ai ni active sheetUnprotect au debut et ni
active sheet protect
j'ai utilisé ce que tu m'a donnée mais ca ne passe pas
"michdenis" wrote:Bonsoir Jean,
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,
Pour déproteger une feuille lors de l'execution d'une macro.
c'est bien
ActiveSheet.Unprotect
et pour la remettre en protection c'est:
ActiveSheet.Protect DrawingObjects:úlse, Contents:=True, Scenarios:úlse
c'est ca merci
Bonjour Jean,
Pour utiliser ce que je te suggère :
Met devant chacune des lignes de code qui "protect" ou "unprotect" tes feuilles dans ton programme, une apostrophe
pour
désactiver ces lignes de commande. Utilise seulement la procédure que je t'ai transmise. Lorsque ceci est fait,
enregistre, ferme et ré-ouvre ton classeur.. cela doit fonctionner.
Ce type d'erreur : "erreur impossible de trouver la methode hidden de la classe range" est issu probablement d'une
ligne de commande comme celle-là : pour masquer ou afficher une colonne. Si la méthode que je t'ai donnée est bien
appliquée, tu devrais avoir aucune difficulté à faire exécuter cette ligne de code PAR MACRO SEULEMENT.
Worksheets("Feuil1").Columns("C").Hidden = TrueAttention : Cette façon de protéger les feuilles ne résout pas les
fautes
de programmation.
Quand excel te propose de "Débugger" ton programme, accepte en répondant oui, il va t'amener directement sur la ligne
de
code problème !
Salutations!
"JEAN" a écrit dans le message de news:
ca ne marche pas ca me genere une erreur impossible de trouver la methode
hidden de la classe range, ceci ce fait
car ma feuille 2 est protégé
et dans le module standard j'ai ni active sheetUnprotect au debut et ni
active sheet protect
j'ai utilisé ce que tu m'a donnée mais ca ne passe pas
"michdenis" wrote:Bonsoir Jean,
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,
Pour déproteger une feuille lors de l'execution d'une macro.
c'est bien
ActiveSheet.Unprotect
et pour la remettre en protection c'est:
ActiveSheet.Protect DrawingObjects:úlse, Contents:=True, Scenarios:úlse
c'est ca merci
Bonjour Jean,
Pour utiliser ce que je te suggère :
Met devant chacune des lignes de code qui "protect" ou "unprotect" tes feuilles dans ton programme, une apostrophe
pour
désactiver ces lignes de commande. Utilise seulement la procédure que je t'ai transmise. Lorsque ceci est fait,
enregistre, ferme et ré-ouvre ton classeur.. cela doit fonctionner.
Ce type d'erreur : "erreur impossible de trouver la methode hidden de la classe range" est issu probablement d'une
ligne de commande comme celle-là : pour masquer ou afficher une colonne. Si la méthode que je t'ai donnée est bien
appliquée, tu devrais avoir aucune difficulté à faire exécuter cette ligne de code PAR MACRO SEULEMENT.
Worksheets("Feuil1").Columns("C").Hidden = TrueAttention : Cette façon de protéger les feuilles ne résout pas les
fautes
de programmation.
Quand excel te propose de "Débugger" ton programme, accepte en répondant oui, il va t'amener directement sur la ligne
de
code problème !
Salutations!
"JEAN" <JEAN@discussions.microsoft.com> a écrit dans le message de news:
0C732841-B2AB-4F90-91E3-2942BDEEDAA8@microsoft.com...
ca ne marche pas ca me genere une erreur impossible de trouver la methode
hidden de la classe range, ceci ce fait
car ma feuille 2 est protégé
et dans le module standard j'ai ni active sheetUnprotect au debut et ni
active sheet protect
j'ai utilisé ce que tu m'a donnée mais ca ne passe pas
"michdenis" wrote:
Bonsoir Jean,
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:
A100208A-F735-43D0-B4C0-7D72693976A9@microsoft.com...
Bonjour,
Pour déproteger une feuille lors de l'execution d'une macro.
c'est bien
ActiveSheet.Unprotect
et pour la remettre en protection c'est:
ActiveSheet.Protect DrawingObjects:úlse, Contents:=True, Scenarios:úlse
c'est ca merci
Bonjour Jean,
Pour utiliser ce que je te suggère :
Met devant chacune des lignes de code qui "protect" ou "unprotect" tes feuilles dans ton programme, une apostrophe
pour
désactiver ces lignes de commande. Utilise seulement la procédure que je t'ai transmise. Lorsque ceci est fait,
enregistre, ferme et ré-ouvre ton classeur.. cela doit fonctionner.
Ce type d'erreur : "erreur impossible de trouver la methode hidden de la classe range" est issu probablement d'une
ligne de commande comme celle-là : pour masquer ou afficher une colonne. Si la méthode que je t'ai donnée est bien
appliquée, tu devrais avoir aucune difficulté à faire exécuter cette ligne de code PAR MACRO SEULEMENT.
Worksheets("Feuil1").Columns("C").Hidden = TrueAttention : Cette façon de protéger les feuilles ne résout pas les
fautes
de programmation.
Quand excel te propose de "Débugger" ton programme, accepte en répondant oui, il va t'amener directement sur la ligne
de
code problème !
Salutations!
"JEAN" a écrit dans le message de news:
ca ne marche pas ca me genere une erreur impossible de trouver la methode
hidden de la classe range, ceci ce fait
car ma feuille 2 est protégé
et dans le module standard j'ai ni active sheetUnprotect au debut et ni
active sheet protect
j'ai utilisé ce que tu m'a donnée mais ca ne passe pas
"michdenis" wrote:Bonsoir Jean,
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,
Pour déproteger une feuille lors de l'execution d'une macro.
c'est bien
ActiveSheet.Unprotect
et pour la remettre en protection c'est:
ActiveSheet.Protect DrawingObjects:úlse, Contents:=True, Scenarios:úlse
c'est ca merci
Bonjour Jean,
Feuil2.Columns("Z:AB").EntireColumn.Hidden = True
Est-ce que ta feuille "Feuil2" existe ? Feuil2 n'est pas le nom de l'onglet de ta feuille.
Feuil2 représente toto dans toto(feuil1) tel qu'illustré dans le VBAProject de la fenêtre VBE.
Salutations!
"JEAN" a écrit dans le message de news:
ça n'a pas l'air de marcher; car j'ai essayé, et ca pointe a chaque fois sur
cette ligne
Feuil2.Columns("Z:AB").EntireColumn.Hidden = True
impossible de definir la proprieté de la classe range
a savoir que ma feuille 2 est protégé, d'ou le message d'erreur
pourtant j'ai bien mis ton code dans le this workbook, et le programme dans
le module 1 standard
je comprend pasBonjour Jean,
Pour utiliser ce que je te suggère :
Met devant chacune des lignes de code qui "protect" ou "unprotect" tes feuilles dans ton programme, une apostrophe
pour
désactiver ces lignes de commande. Utilise seulement la procédure que je t'ai transmise. Lorsque ceci est fait,
enregistre, ferme et ré-ouvre ton classeur.. cela doit fonctionner.
Ce type d'erreur : "erreur impossible de trouver la methode hidden de la classe range" est issu probablement d'une
ligne de commande comme celle-là : pour masquer ou afficher une colonne. Si la méthode que je t'ai donnée est bien
appliquée, tu devrais avoir aucune difficulté à faire exécuter cette ligne de code PAR MACRO SEULEMENT.
Worksheets("Feuil1").Columns("C").Hidden = TrueAttention : Cette façon de protéger les feuilles ne résout pas les
fautes
de programmation.
Quand excel te propose de "Débugger" ton programme, accepte en répondant oui, il va t'amener directement sur la ligne
de
code problème !
Salutations!
"JEAN" a écrit dans le message de news:
ca ne marche pas ca me genere une erreur impossible de trouver la methode
hidden de la classe range, ceci ce fait
car ma feuille 2 est protégé
et dans le module standard j'ai ni active sheetUnprotect au debut et ni
active sheet protect
j'ai utilisé ce que tu m'a donnée mais ca ne passe pas
"michdenis" wrote:Bonsoir Jean,
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,
Pour déproteger une feuille lors de l'execution d'une macro.
c'est bien
ActiveSheet.Unprotect
et pour la remettre en protection c'est:
ActiveSheet.Protect DrawingObjects:úlse, Contents:=True, Scenarios:úlse
c'est ca merci
Bonjour Jean,
Feuil2.Columns("Z:AB").EntireColumn.Hidden = True
Est-ce que ta feuille "Feuil2" existe ? Feuil2 n'est pas le nom de l'onglet de ta feuille.
Feuil2 représente toto dans toto(feuil1) tel qu'illustré dans le VBAProject de la fenêtre VBE.
Salutations!
"JEAN" <JEAN@discussions.microsoft.com> a écrit dans le message de news:
DFD5D622-3110-436D-AAF5-944BB646DEB5@microsoft.com...
ça n'a pas l'air de marcher; car j'ai essayé, et ca pointe a chaque fois sur
cette ligne
Feuil2.Columns("Z:AB").EntireColumn.Hidden = True
impossible de definir la proprieté de la classe range
a savoir que ma feuille 2 est protégé, d'ou le message d'erreur
pourtant j'ai bien mis ton code dans le this workbook, et le programme dans
le module 1 standard
je comprend pas
Bonjour Jean,
Pour utiliser ce que je te suggère :
Met devant chacune des lignes de code qui "protect" ou "unprotect" tes feuilles dans ton programme, une apostrophe
pour
désactiver ces lignes de commande. Utilise seulement la procédure que je t'ai transmise. Lorsque ceci est fait,
enregistre, ferme et ré-ouvre ton classeur.. cela doit fonctionner.
Ce type d'erreur : "erreur impossible de trouver la methode hidden de la classe range" est issu probablement d'une
ligne de commande comme celle-là : pour masquer ou afficher une colonne. Si la méthode que je t'ai donnée est bien
appliquée, tu devrais avoir aucune difficulté à faire exécuter cette ligne de code PAR MACRO SEULEMENT.
Worksheets("Feuil1").Columns("C").Hidden = TrueAttention : Cette façon de protéger les feuilles ne résout pas les
fautes
de programmation.
Quand excel te propose de "Débugger" ton programme, accepte en répondant oui, il va t'amener directement sur la ligne
de
code problème !
Salutations!
"JEAN" <JEAN@discussions.microsoft.com> a écrit dans le message de news:
0C732841-B2AB-4F90-91E3-2942BDEEDAA8@microsoft.com...
ca ne marche pas ca me genere une erreur impossible de trouver la methode
hidden de la classe range, ceci ce fait
car ma feuille 2 est protégé
et dans le module standard j'ai ni active sheetUnprotect au debut et ni
active sheet protect
j'ai utilisé ce que tu m'a donnée mais ca ne passe pas
"michdenis" wrote:
Bonsoir Jean,
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:
A100208A-F735-43D0-B4C0-7D72693976A9@microsoft.com...
Bonjour,
Pour déproteger une feuille lors de l'execution d'une macro.
c'est bien
ActiveSheet.Unprotect
et pour la remettre en protection c'est:
ActiveSheet.Protect DrawingObjects:úlse, Contents:=True, Scenarios:úlse
c'est ca merci
Bonjour Jean,
Feuil2.Columns("Z:AB").EntireColumn.Hidden = True
Est-ce que ta feuille "Feuil2" existe ? Feuil2 n'est pas le nom de l'onglet de ta feuille.
Feuil2 représente toto dans toto(feuil1) tel qu'illustré dans le VBAProject de la fenêtre VBE.
Salutations!
"JEAN" a écrit dans le message de news:
ça n'a pas l'air de marcher; car j'ai essayé, et ca pointe a chaque fois sur
cette ligne
Feuil2.Columns("Z:AB").EntireColumn.Hidden = True
impossible de definir la proprieté de la classe range
a savoir que ma feuille 2 est protégé, d'ou le message d'erreur
pourtant j'ai bien mis ton code dans le this workbook, et le programme dans
le module 1 standard
je comprend pasBonjour Jean,
Pour utiliser ce que je te suggère :
Met devant chacune des lignes de code qui "protect" ou "unprotect" tes feuilles dans ton programme, une apostrophe
pour
désactiver ces lignes de commande. Utilise seulement la procédure que je t'ai transmise. Lorsque ceci est fait,
enregistre, ferme et ré-ouvre ton classeur.. cela doit fonctionner.
Ce type d'erreur : "erreur impossible de trouver la methode hidden de la classe range" est issu probablement d'une
ligne de commande comme celle-là : pour masquer ou afficher une colonne. Si la méthode que je t'ai donnée est bien
appliquée, tu devrais avoir aucune difficulté à faire exécuter cette ligne de code PAR MACRO SEULEMENT.
Worksheets("Feuil1").Columns("C").Hidden = TrueAttention : Cette façon de protéger les feuilles ne résout pas les
fautes
de programmation.
Quand excel te propose de "Débugger" ton programme, accepte en répondant oui, il va t'amener directement sur la ligne
de
code problème !
Salutations!
"JEAN" a écrit dans le message de news:
ca ne marche pas ca me genere une erreur impossible de trouver la methode
hidden de la classe range, ceci ce fait
car ma feuille 2 est protégé
et dans le module standard j'ai ni active sheetUnprotect au debut et ni
active sheet protect
j'ai utilisé ce que tu m'a donnée mais ca ne passe pas
"michdenis" wrote:Bonsoir Jean,
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,
Pour déproteger une feuille lors de l'execution d'une macro.
c'est bien
ActiveSheet.Unprotect
et pour la remettre en protection c'est:
ActiveSheet.Protect DrawingObjects:úlse, Contents:=True, Scenarios:úlse
c'est ca merci
oui ma feuil2 existe c'est la feuille qui est proteger
mais le nom de l'onglet n'est pas feuil 2 cest test
merciBonjour Jean,
Feuil2.Columns("Z:AB").EntireColumn.Hidden = True
Est-ce que ta feuille "Feuil2" existe ? Feuil2 n'est pas le nom de
l'onglet de ta feuille.
Feuil2 représente toto dans toto(feuil1) tel qu'illustré dans le
VBAProject de la fenêtre VBE.
Salutations!
"JEAN" a écrit dans le message de
news:
ça n'a pas l'air de marcher; car j'ai essayé, et ca pointe a
chaque fois sur
cette ligne
Feuil2.Columns("Z:AB").EntireColumn.Hidden = True
impossible de definir la proprieté de la classe range
a savoir que ma feuille 2 est protégé, d'ou le message d'erreur
pourtant j'ai bien mis ton code dans le this workbook, et le
programme dans
le module 1 standard
je comprend pasBonjour Jean,
Pour utiliser ce que je te suggère :
Met devant chacune des lignes de code qui "protect" ou
"unprotect" tes feuilles dans ton programme, une apostrophe
pour
désactiver ces lignes de commande. Utilise seulement la
procédure que je t'ai transmise. Lorsque ceci est fait,
enregistre, ferme et ré-ouvre ton classeur.. cela doit
fonctionner.
Ce type d'erreur : "erreur impossible de trouver la methode
hidden de la classe range" est issu probablement d'une
ligne de commande comme celle-là : pour masquer ou afficher une
colonne. Si la méthode que je t'ai donnée est bien
appliquée, tu devrais avoir aucune difficulté à faire exécuter
cette ligne de code PAR MACRO SEULEMENT.
Worksheets("Feuil1").Columns("C").Hidden = TrueAttention : Cette
façon de protéger les feuilles ne résout pas les
fautes
de programmation.
Quand excel te propose de "Débugger" ton programme, accepte en
répondant oui, il va t'amener directement sur la ligne
de
code problème !
Salutations!
"JEAN" a écrit dans le message
de news:
ca ne marche pas ca me genere une erreur impossible de trouver
la methode
hidden de la classe range, ceci ce fait
car ma feuille 2 est protégé
et dans le module standard j'ai ni active sheetUnprotect au
debut et ni
active sheet protect
j'ai utilisé ce que tu m'a donnée mais ca ne passe pas
"michdenis" wrote:Bonsoir Jean,
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,
Pour déproteger une feuille lors de l'execution d'une macro.
c'est bien
ActiveSheet.Unprotect
et pour la remettre en protection c'est:
ActiveSheet.Protect DrawingObjects:úlse, Contents:=True,
Scenarios:úlse
c'est ca merci
oui ma feuil2 existe c'est la feuille qui est proteger
mais le nom de l'onglet n'est pas feuil 2 cest test
merci
Bonjour Jean,
Feuil2.Columns("Z:AB").EntireColumn.Hidden = True
Est-ce que ta feuille "Feuil2" existe ? Feuil2 n'est pas le nom de
l'onglet de ta feuille.
Feuil2 représente toto dans toto(feuil1) tel qu'illustré dans le
VBAProject de la fenêtre VBE.
Salutations!
"JEAN" <JEAN@discussions.microsoft.com> a écrit dans le message de
news:
DFD5D622-3110-436D-AAF5-944BB646DEB5@microsoft.com...
ça n'a pas l'air de marcher; car j'ai essayé, et ca pointe a
chaque fois sur
cette ligne
Feuil2.Columns("Z:AB").EntireColumn.Hidden = True
impossible de definir la proprieté de la classe range
a savoir que ma feuille 2 est protégé, d'ou le message d'erreur
pourtant j'ai bien mis ton code dans le this workbook, et le
programme dans
le module 1 standard
je comprend pas
Bonjour Jean,
Pour utiliser ce que je te suggère :
Met devant chacune des lignes de code qui "protect" ou
"unprotect" tes feuilles dans ton programme, une apostrophe
pour
désactiver ces lignes de commande. Utilise seulement la
procédure que je t'ai transmise. Lorsque ceci est fait,
enregistre, ferme et ré-ouvre ton classeur.. cela doit
fonctionner.
Ce type d'erreur : "erreur impossible de trouver la methode
hidden de la classe range" est issu probablement d'une
ligne de commande comme celle-là : pour masquer ou afficher une
colonne. Si la méthode que je t'ai donnée est bien
appliquée, tu devrais avoir aucune difficulté à faire exécuter
cette ligne de code PAR MACRO SEULEMENT.
Worksheets("Feuil1").Columns("C").Hidden = TrueAttention : Cette
façon de protéger les feuilles ne résout pas les
fautes
de programmation.
Quand excel te propose de "Débugger" ton programme, accepte en
répondant oui, il va t'amener directement sur la ligne
de
code problème !
Salutations!
"JEAN" <JEAN@discussions.microsoft.com> a écrit dans le message
de news:
0C732841-B2AB-4F90-91E3-2942BDEEDAA8@microsoft.com...
ca ne marche pas ca me genere une erreur impossible de trouver
la methode
hidden de la classe range, ceci ce fait
car ma feuille 2 est protégé
et dans le module standard j'ai ni active sheetUnprotect au
debut et ni
active sheet protect
j'ai utilisé ce que tu m'a donnée mais ca ne passe pas
"michdenis" wrote:
Bonsoir Jean,
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:
A100208A-F735-43D0-B4C0-7D72693976A9@microsoft.com...
Bonjour,
Pour déproteger une feuille lors de l'execution d'une macro.
c'est bien
ActiveSheet.Unprotect
et pour la remettre en protection c'est:
ActiveSheet.Protect DrawingObjects:úlse, Contents:=True,
Scenarios:úlse
c'est ca merci
oui ma feuil2 existe c'est la feuille qui est proteger
mais le nom de l'onglet n'est pas feuil 2 cest test
merciBonjour Jean,
Feuil2.Columns("Z:AB").EntireColumn.Hidden = True
Est-ce que ta feuille "Feuil2" existe ? Feuil2 n'est pas le nom de
l'onglet de ta feuille.
Feuil2 représente toto dans toto(feuil1) tel qu'illustré dans le
VBAProject de la fenêtre VBE.
Salutations!
"JEAN" a écrit dans le message de
news:
ça n'a pas l'air de marcher; car j'ai essayé, et ca pointe a
chaque fois sur
cette ligne
Feuil2.Columns("Z:AB").EntireColumn.Hidden = True
impossible de definir la proprieté de la classe range
a savoir que ma feuille 2 est protégé, d'ou le message d'erreur
pourtant j'ai bien mis ton code dans le this workbook, et le
programme dans
le module 1 standard
je comprend pasBonjour Jean,
Pour utiliser ce que je te suggère :
Met devant chacune des lignes de code qui "protect" ou
"unprotect" tes feuilles dans ton programme, une apostrophe
pour
désactiver ces lignes de commande. Utilise seulement la
procédure que je t'ai transmise. Lorsque ceci est fait,
enregistre, ferme et ré-ouvre ton classeur.. cela doit
fonctionner.
Ce type d'erreur : "erreur impossible de trouver la methode
hidden de la classe range" est issu probablement d'une
ligne de commande comme celle-là : pour masquer ou afficher une
colonne. Si la méthode que je t'ai donnée est bien
appliquée, tu devrais avoir aucune difficulté à faire exécuter
cette ligne de code PAR MACRO SEULEMENT.
Worksheets("Feuil1").Columns("C").Hidden = TrueAttention : Cette
façon de protéger les feuilles ne résout pas les
fautes
de programmation.
Quand excel te propose de "Débugger" ton programme, accepte en
répondant oui, il va t'amener directement sur la ligne
de
code problème !
Salutations!
"JEAN" a écrit dans le message
de news:
ca ne marche pas ca me genere une erreur impossible de trouver
la methode
hidden de la classe range, ceci ce fait
car ma feuille 2 est protégé
et dans le module standard j'ai ni active sheetUnprotect au
debut et ni
active sheet protect
j'ai utilisé ce que tu m'a donnée mais ca ne passe pas
"michdenis" wrote:Bonsoir Jean,
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,
Pour déproteger une feuille lors de l'execution d'une macro.
c'est bien
ActiveSheet.Unprotect
et pour la remettre en protection c'est:
ActiveSheet.Protect DrawingObjects:úlse, Contents:=True,
Scenarios:úlse
c'est ca merci