Bonjour à tous
Je voudrais créer un bouton macro pour ouvrir la boite de dialogue « Protéger la feuille »pour entrer un mot de passe sans passer par la barre d’outils : Révision Protéger la feuille etc.
Merci d’avance
Bob
Bonjour à tous
Je voudrais créer un bouton macro pour ouvrir la boite de dialogue « Protéger la feuille »pour entrer un mot de passe sans passer par la barre d’outils : Révision Protéger la feuille etc.
Merci d’avance
Bob
Bonjour,
voici quelques macro fonctionnant ensemble qui permettent de faire ce que tu souhaite :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 Function InsererCommandButton(inc As Integer) Dim oOLE As OLEObject Set oOLE = ActiveWorkbook.Sheets(inc).OLEObjects.Add(ClassType:="Forms.CommandButton.1", _ Link:=False, DisplayAsIcon:=False, Left:=550, Top:=8, Width:=75, Height:=25) oOLE.Name = "NomDuBouton" Sheets(inc).OLEObjects(1).Object.Caption = "TexteSurBouton" End Function
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 Sub NomDuBouton_Click() Dim Mdp as string Mdp = InpuBox("Veuillez entrer le mot de passe pour protéger la feuille", "Titre") If Mdp = "MotDePasse" then ActiveSheet.Protect "MotDePasseAuChoix" ... End If End Sub
Merci jeansairien pour ta réponse ultra rapide.
J'ai copié ton code dans la fenetre vb sur la feuille 1.
dans cet ordre:
J'ai supprimé les trois petits points juste avant le End if,
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31 Function InsererCommandButton(inc As Integer) Dim oOLE As OLEObject Set oOLE = ActiveWorkbook.Sheets(inc).OLEObjects.Add(ClassType:="Forms.CommandButton.1", _ Link:=False, DisplayAsIcon:=False, Left:=550, Top:=8, Width:=75, Height:=25) oOLE.Name = "NomDuBouton" Sheets(inc).OLEObjects(1).Object.Caption = "TexteSurBouton" End Function Sub NomDuBouton_Click() Dim Mdp As String Mdp = InputBox("Veuillez entrer le mot de passe pour protéger la feuille", "Titre") If Mdp = "MotDePasse" Then ActiveSheet.Protect "MotDePasseAuChoix" End If End Sub
j'obtiens la boite de dialogue pour entrer le mot de passe, mais après l'avoir entré, la feuille n'est pas protégée.
Que manque t-il.
Merci Bob
Bonjour bobafric,
As-tu écrit "MotDePasse" comme mot de passe ? Certainement pas... Je pense que le code doit être modifié ainsi :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26 Function InsererCommandButton(inc As Integer) Dim oOLE As OLEObject Set oOLE = ActiveWorkbook.Sheets(inc).OLEObjects.Add(ClassType:="Forms.CommandButton.1", _ Link:=False, DisplayAsIcon:=False, Left:=550, Top:=8, Width:=75, Height:=25) oOLE.Name = "NomDuBouton" Sheets(inc).OLEObjects(1).Object.Caption = "TexteSurBouton" End Function Sub NomDuBouton_Click() Dim Mdp As String Mdp = InputBox("Veuillez entrer le mot de passe pour protéger la feuille", "Titre") ActiveSheet.Protect Mdp End Sub
C'est OK pour le nouveau code
Merci encore à la prochaine
Bob
Partager