[excel/vba] protection d'une feuille
Résolu/Fermé
antic80
Messages postés
4785
Date d'inscription
lundi 30 mai 2005
Statut
Contributeur
Dernière intervention
9 septembre 2009
-
29 oct. 2008 à 14:41
Mike-31 Messages postés 18354 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 1 janvier 2025 - 12 mai 2010 à 16:12
Mike-31 Messages postés 18354 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 1 janvier 2025 - 12 mai 2010 à 16:12
A voir également:
- [excel/vba] protection d'une feuille
- Feuille de pointage excel - Télécharger - Tableur
- Liste déroulante excel - Guide
- Déplacer une colonne excel - Guide
- Calculer une moyenne sur excel - Guide
- Si et excel - Guide
4 réponses
Mike-31
Messages postés
18354
Date d'inscription
dimanche 17 février 2008
Statut
Contributeur
Dernière intervention
1 janvier 2025
5 110
29 oct. 2008 à 15:46
29 oct. 2008 à 15:46
Salut,
Crée un module macro clic droit sur l'onglet de ta feuille/visualiser le code/ insertion/module dans ce module colles ce code
Dans cet exemple le mot de passe est titi et doit être changé suivant tes besoins dans la ligne
If textetitre = "titi" Then
Sub Déprotection()
textetitre = InputBox(Title:="Bonjour", _
Prompt:="Veuillez Saisir le code d'accès.")
If textetitre = "titi" Then
Worksheets(1).Unprotect Password:="titi"
Else
msg = "Mot de passe incorrect."
StyleBoîteDialogue = vbOKOnly + vbQuestion
Title = "Accès réglementé."
réponse = MsgBox(msg, StyleBoîteDialogue, Title)
Exit Sub
End If
End Sub
Sur ta feuille de calcul crée un bouton associé à cette macro pour déprotéger ta feuille.
Ensuite pour que ta feuille se protège automatiquement à la fermeture de ton fichier
Clic droit sur l’onglet de feuille, double clic sur thisworkbook une feuille blanche s’ouvre, colle le code ci-dessous. Attention si tu change le mot de passe « titi à la déprotection, il faut également le changer à la protection, et n’oublis pas de mettre to mot de passe entre :""
Private Sub Workbook_BeforeClose(Cancel As Boolean)
Worksheets(1).Protect Password:="titi"
End Sub
Et pour terminer afin que personne que toi n'accède au module macro et donc découvrir ou changer le mot de passe il convient de protéger le module VBA par un mot de passe. Mais attention de ne pas multiplier les mots des passes afin de ne pas les oublier, bien qu’il existe des logiciels de déprotection.
A+
Crée un module macro clic droit sur l'onglet de ta feuille/visualiser le code/ insertion/module dans ce module colles ce code
Dans cet exemple le mot de passe est titi et doit être changé suivant tes besoins dans la ligne
If textetitre = "titi" Then
Sub Déprotection()
textetitre = InputBox(Title:="Bonjour", _
Prompt:="Veuillez Saisir le code d'accès.")
If textetitre = "titi" Then
Worksheets(1).Unprotect Password:="titi"
Else
msg = "Mot de passe incorrect."
StyleBoîteDialogue = vbOKOnly + vbQuestion
Title = "Accès réglementé."
réponse = MsgBox(msg, StyleBoîteDialogue, Title)
Exit Sub
End If
End Sub
Sur ta feuille de calcul crée un bouton associé à cette macro pour déprotéger ta feuille.
Ensuite pour que ta feuille se protège automatiquement à la fermeture de ton fichier
Clic droit sur l’onglet de feuille, double clic sur thisworkbook une feuille blanche s’ouvre, colle le code ci-dessous. Attention si tu change le mot de passe « titi à la déprotection, il faut également le changer à la protection, et n’oublis pas de mettre to mot de passe entre :""
Private Sub Workbook_BeforeClose(Cancel As Boolean)
Worksheets(1).Protect Password:="titi"
End Sub
Et pour terminer afin que personne que toi n'accède au module macro et donc découvrir ou changer le mot de passe il convient de protéger le module VBA par un mot de passe. Mais attention de ne pas multiplier les mots des passes afin de ne pas les oublier, bien qu’il existe des logiciels de déprotection.
A+
Mike-31
Messages postés
18354
Date d'inscription
dimanche 17 février 2008
Statut
Contributeur
Dernière intervention
1 janvier 2025
5 110
29 oct. 2008 à 17:11
29 oct. 2008 à 17:11
N'oublis pas de mettre ton statut en résolu
Merci
A+
Merci
A+
salut
j'ai suivi tout ce que t'a dit mais en fin quand j'ouvre le fichier je trouve que la feuille n'est pas proteger, on peut faire des modification dans cette feuille, malgré que la macro s'execute normal apartir de sont bouton.
merci pour tout
j'ai suivi tout ce que t'a dit mais en fin quand j'ouvre le fichier je trouve que la feuille n'est pas proteger, on peut faire des modification dans cette feuille, malgré que la macro s'execute normal apartir de sont bouton.
merci pour tout
Mike-31
Messages postés
18354
Date d'inscription
dimanche 17 février 2008
Statut
Contributeur
Dernière intervention
1 janvier 2025
5 110
12 mai 2010 à 16:12
12 mai 2010 à 16:12
Salut,
Tu aurais du ouvrir ta propre discussion et expliquer ton problème.
Cette discussion à été ouverte par Antic80 et son statut est résolu.
Enfin, le code que j'ai donné dans ce topic consistait à contrôler les personnes autorisées à apporter des modifications sur une feuille d'un classeur. pour cela il faut coller ce code dans un module
Sub Déprotection()
textetitre = InputBox(Title:="Bonjour", _
Prompt:="Veuillez Saisir le code d'accès.")
If textetitre = "titi" Then
Worksheets(1).Unprotect Password:="titi"
Else
msg = "Mot de passe incorrect."
StyleBoîteDialogue = vbOKOnly + vbQuestion
Title = "Accès réglementé."
réponse = MsgBox(msg, StyleBoîteDialogue, Title)
Exit Sub
End If
End Sub
et celui ci dans la Thisworkbook
Private Sub Workbook_BeforeClose(Cancel As Boolean)
Worksheets(1).Protect Password:="titi"
End Sub
le mot de passe pour accéder aux modifications de la feuille est titi.
Pour appliquer ce code à plusieurs feuilles ou une feuille différente que la feuille 1 il faut revoir le code
Tu aurais du ouvrir ta propre discussion et expliquer ton problème.
Cette discussion à été ouverte par Antic80 et son statut est résolu.
Enfin, le code que j'ai donné dans ce topic consistait à contrôler les personnes autorisées à apporter des modifications sur une feuille d'un classeur. pour cela il faut coller ce code dans un module
Sub Déprotection()
textetitre = InputBox(Title:="Bonjour", _
Prompt:="Veuillez Saisir le code d'accès.")
If textetitre = "titi" Then
Worksheets(1).Unprotect Password:="titi"
Else
msg = "Mot de passe incorrect."
StyleBoîteDialogue = vbOKOnly + vbQuestion
Title = "Accès réglementé."
réponse = MsgBox(msg, StyleBoîteDialogue, Title)
Exit Sub
End If
End Sub
et celui ci dans la Thisworkbook
Private Sub Workbook_BeforeClose(Cancel As Boolean)
Worksheets(1).Protect Password:="titi"
End Sub
le mot de passe pour accéder aux modifications de la feuille est titi.
Pour appliquer ce code à plusieurs feuilles ou une feuille différente que la feuille 1 il faut revoir le code
29 oct. 2008 à 17:09
clair et précis, parfait pour moi