protection feuille macro

  • Initiateur de la discussion René
  • Date de début
R

René

Guest
Bonjour le forum,

Voial j'ai fait une protection de ma feuille et pour l'utilisation d'une macro il me faut la déprotéger avant l'execution de la macro puis la reprotéger après

Du style :

Sub FHH()
Activesheet.Unprotect
'ma macro
Activesheet.Protect
End sub


Comment faire ???

Merci d avance
 

Robert

XLDnaute Barbatruc
Repose en paix
Bonjour René, bonjour le forum,

C'est excatement ça. Mais tu peux utiliser aussi :

ActiveSheet.Protect UserInterfaceOnly:=True
Cette option permet aux macros de modifier ton onglet mais pas aux utilisateurs (manuellement). Ci-dessous un copier/coller d'une remarque de l'aide VBA sur cet argument :

Remarque

Si vous appliquez la méthode Protect et que l'argument UserInterfaceOnly a la valeur True dans une feuille de calcul et que vous enregistrez le classeur, l'intégralité du classeur (et pas uniquement l'interface) sera protégée lors de la réouverture du classeur. Pour déprotéger la feuille de calcul mais activer à nouveau la protection de l'interface utilisateur après l'ouverture du classeur, vous devez à nouveau appliquer la méthode Protect avec l'argument UserInterfaceOnly affecté de la valeur True.
 
R

René

Guest
Re tout le monde

Robert, merci pour ton aide, mais voici ou j'en suis

J'ai crée un mot de passe

Private Sub macommande()
Activesheet.Unprotect Password:='mot de passe'
ma macro
...
Activesheet.Protect Password:='mot de passe'
End sub

Mais en fait ce ne me protege pas la feuille comme prévu , savez vous pourquoi ???

ou est mon erreur ???

Merci
 

Robert

XLDnaute Barbatruc
Repose en paix
Bonjour René, bonjour le forum,

Je ne comprends pas, ton code est correct. Que fait ta macro entre la déprotection et la protection ? Il y a-t-il changement d'onglet ?
Regarde aussi si tes cellules sont bien verrouillées car sinon la protection ne sert à rien.

Bon courage...
 

Olivier_HTP

XLDnaute Occasionnel
Bonjour René, Robert, le Forum,

J'ai eu ce genre de problèmes il y a un certain temps, et déjà je peux te dire que la protection de la feuille, avec ou sans mot de passe, est plus ou moins 'sophistiquée' selon la version d'Excel que tu utilises.

Celà étant dit, avec Excel XP ou 2002, j'ai donc une application avec des feuilles protégées par mot de passe. Pour faire en sorte que les macros puissent s'effectuer il faut comme tu le fais mettre en début de macro l'instruction :

ActiveSheet.Unprotect Password:='monmotdepasse'

En fin de macro, pour réactiver ta protection par mot de passe, j'ai lis l'instruction suivante :

ActiveSheet.Protect DrawingObjects:=False, Contents:=True, Scenarios:= _
True, AllowSorting:=True, AllowFiltering:=True, Password:='monmotdepasse'

Comme tu peux le voir cette dernière instruction réactive la protection par mot de passe, en laissant certaines options de modification actives, selon ce que tu désires. Mais en sachant que cette faculté est permise avec Excel XP 2002 mais pas avec des versions plus anciennes d'Excel.

Voilà, j'espère que ça va t'aider à résoudre ton problème.

Bonne fin de journée,

Olivier_HTP
 

Discussions similaires

Statistiques des forums

Discussions
312 482
Messages
2 088 765
Membres
103 954
dernier inscrit
SirJah