Bouton vérouillage de feuille avec certaines cases déverouillées
KathRoz
Messages postés12Date d'inscriptionjeudi 21 juillet 2011StatutMembreDernière intervention26 juillet 2011
-
26 juil. 2011 à 08:11
ucfoutu
Messages postés18038Date d'inscriptionlundi 7 décembre 2009StatutModérateurDernière intervention11 avril 2018
-
26 juil. 2011 à 14:59
Bonjour à tous,
je suis une vrai débutante en VBA et j'ai une demande qui va surement paraitre très simple mais je n'y arrive pas du tout, même avec toutes les aides que je peux trouver sur internet.
Alors voilà mon problème:
J'ai un fichier Excel comprenant 7 onglets différents. Le fichier sera tout d'abord rempli par mon entreprise puis il doit être verrouillé par un appui sur un bouton mais il doit laisser certaines cases que le fournisseurs doit remplir déverrouillée pour le remplissage par celui-ci.
J'ai donc crée 2 boutons de commande ayant le code suivant:
Private Sub CommandButton1_Click()
Call locked
MsgBox "File locked!"
End Sub
Private Sub CommandButton2_Click()
Call unlocked
MsgBox "File unlocked!"
End Sub
Puis j'ai crée un module où je veux indiquer que le bouton lock verrouille avec un mot de passe mais que certaines cases restent déverrouillée et je ne sais pas comment faire. Même chose pour le bouton unlock.
Merci de votre aide.
KathRoz
A voir également:
Bouton vérouillage de feuille avec certaines cases déverouillées
ucfoutu
Messages postés18038Date d'inscriptionlundi 7 décembre 2009StatutModérateurDernière intervention11 avril 2018211 26 juil. 2011 à 14:29
ou encore mieux :
Si ta feuille est déjà protégée par mdp toto ou si pas encore (et protège par mdp toto (les deux cas)
Dim identifie As Boolean
Private Sub Worksheet_Activate()
If Not Worksheets("Feuil2").Protection Then
Worksheets("Feuil2").Protect ("toto")
End If
End Sub
Private Sub CommandButton1_Click()
If Not identifie Then
mdp = InputBox("donnez votre mot de passe")
If mdp = "toto" Then
identifie = True
Else
identifie = False
MsgBox "vous n'avez rien à tentrer ici ! circulez !"
End If
Else
Worksheets("Feuil2").Unprotect ("toto")
Worksheets("Feuil2").Range("H1:I6").Locked = False
Worksheets("Feuil2").Protect ("toto")
End If
End Sub
Tu as là vraiment tous les ingrédients nécessaires pour faire ta cuisine, non ?
____________________
Utiliser le bouton "REPONSE ACCEPTEE" sur une réponse exacte facilite les recherches ultérieures d'autres forumeurs. PENSEZ-Y SVP
ucfoutu
Messages postés18038Date d'inscriptionlundi 7 décembre 2009StatutModérateurDernière intervention11 avril 2018211 26 juil. 2011 à 14:59
ah oui : petite modif dans le click pour qu'il déverrouille du premier coup aussi si bon mot de passe :
Private Sub CommandButton1_Click()
If Not identifie Then
mdp = InputBox("donnez votre mot de passe")
If mdp = "toto" Then
Worksheets("Feuil2").Unprotect ("toto")
Worksheets("Feuil2").Range("H1:I6").Locked = False
Worksheets("Feuil2").Protect ("toto")
identifie = True
Else
identifie = False
MsgBox "vous n'avez rien à tentrer ici ! circulez !"
End If
Else
Worksheets("Feuil2").Unprotect ("toto")
Worksheets("Feuil2").Range("H1:I6").Locked = False
Worksheets("Feuil2").Protect ("toto")
End If
End Sub
je te laisse te fabriquer (super facile, maintenant) le re-verrouillage de la plage, si tu souhaites re-verrouiller à un autre moment.
____________________
Utiliser le bouton "REPONSE ACCEPTEE" sur une réponse exacte facilite les recherches ultérieures d'autres forumeurs. PENSEZ-Y SVP