Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Onglet protégé

D

Dok'

Guest
Bonjour tout le monde...

juste une petite question :

Est-il possible de protéger par un mot de passe un onglet de ma feuille excel (et seulement cet onglet).

Si oui, comment faire ?

Merci d'avance.
 
D

Dok'

Guest
Merci...

juste une précision : en suivant tes conseils, je ne réussis pas à protéger mon onglet en lecture. En effet, cet onglet est protéger en écriture (on ne peut pas changer les données qui en fot partie). ce que je voudrais, c'est "carrément" qu'on ne puisse pas accéder à cet onglet (et donc lire les informations qu'il contient) sans mot de passe....

J'espère que je suis assez clair.

Merci d'avance.

Dok'.
 
E

Evelynetfrancois

Guest
bonsoir DOK
voici une macro qui devrait te convenir le code c'est "dok" minuscule ou majuscule

Sub mystere()
Dim X, retour
retour = MsgBox("Accés a la feuille secrete." & Chr(13) & "que je ne veux pas montrer. " & Chr(13) & "" & Chr(13) & "" & Chr(13) & " Code d'accés obligatoire ! ", 4 + vbInformation + vbDefaultButton2, " et oui il faut un code . ")
If retour = vbYes Then
Do
X = Application.InputBox(" Saisir le code d'accés . * * * * * .", "Code d'accés à la feuilles secrete.", " Password !")
Loop Until LCase(X) = "ok" Or X = False
If X = ("dok") Or X = ("DOK") Then
Application.ScreenUpdating = False
Sheets("feuil1").Visible = True
End If
End If
End Sub

bonne soirée
Evelynetfrancois
 
D

Dok'

Guest
Evelynetfrancois :

pourriez-vous m'apportez une précision please :

Je masque ma feuille (ok j'ai réussi à le faire) mais votre macro ne m'affiche pas ma feuille lorsque je tape "dok" ou "DOK".....

(pourtant il s'adit bien de "Feuil1")....

Merci d'avance

Dok'
 
E

Evelynetfrancois

Guest
mille excuses dok
une toute petite erreur s'est glissee
dans la ligne
Loop Until LCase(X) = "ok" Or X = False
change le "ok " par " dok"
j'avais pas saisi le "d"
cela dit
ok c'etait pas mal lol ......
bon prog
a plus
dit moi si ça marche ,normalement aucun prob
Evelynetfrancois
 
E

Evelynetfrancois

Guest
mille excuses dok
une toute petite erreur s'est glissee
dans la ligne
Loop Until LCase(X) = "ok" Or X = False
change le "ok " par " dok"
j'avais pas saisi le "d"
cela dit
ok c'etait pas mal lol ......
bon prog
a plus
dit moi si ça marche ,normalement aucun prob
Evelynetfrancois
 
D

Dok'

Guest
nickel ça marche merci.....

Par contre un dernier truc que je ne comprends pas :

si je fais Format / feuille / Masquer, et que j'applique le code tout marche bien.

Par contre nimporte qui peut accéder à cette feuille en faisant tout simplement Format / Feuille / Afficher / Feuille 1.

comment résoudre ce problème ?
 
E

Evelynetfrancois

Guest
Salut Dok

Evidemment il faut proteger le classeur (outil/ protec/ classeur)
mettre un code de protect a ce classeur ("toto" par exemple,
et rajouter à la macro

ActiveWorkbook.Protect password:="toto", structure:=False, Windows:=True

comme ci dessous


Sub mystere()
Dim X, retour
retour = MsgBox("Accés a la feuille secrete." & Chr(13) & "que je ne veux pas montrer. " & Chr(13) & "" & Chr(13) & "" & Chr(13) & " Code d'accés obligatoire ! ", 4 + vbInformation + vbDefaultButton2, " et oui il faut un code . ")
If retour = vbYes Then
Do
X = Application.InputBox(" Saisir le code d'accés . * * * * * .", "Code d'accés à la feuilles secrete.", " Password !")
Loop Until LCase(X) = "dok" Or X = False
If X = ("dok") Or X = ("DOK") Then
Application.ScreenUpdating = False
ActiveWorkbook.Protect password:="toto", structure:=False, Windows:=True
Sheets("feuil1").Visible = True
End If
End If
End Sub


Ensuite lorsque tu ressortiras de cette feuille "mystere" il faudra penser à reinverser le procesus par un bouton macros ur la feuil Mystere qui t'en fera resortir avec:

Private Sub pass_visible()
Sheets("ici le nom de la feuil ou tu veux revenir").Select
Sheets("feuil1").Visible = False
ActiveWorkbook.Protect password:="toto", structure:=True, Windows:=False
end sub

voilà bonne programmation(sssssssssssssss)
Evelynetfrancois

End Sub
 
D

Dok'

Guest
Un grand Merci (un énorme merci même), je peux maintenant appliquer ça à n'importe quel fichier Excel (en faisant bien attention à ne pas oublier mon mot de passe évidemment !!!)

Excusez-moi de vous embêter, je commence peut-être à abuser.... mais pour finir, j'aimerais qu'on ne puisse pas accéder à mon code VBA (le mot de passe étant inscrit dans ce code, il "suffirait" à l'utilisateur lambda de venir le chercher à cet endroit), sans un mot de passe (et uniquement pour cette macro, située dans un module spécial)

( Voilà mes noms : )
( nom de module : ProtectionClasseurEtFeuil1 )
( nom de macro : mystere )
( nom de classeur (si utile) : SensibilitéNcp )

UN GRAND MERCI si vous pouvez (si je me suis bien exprimé et que je suis compréhensible) m'aider pour cette ultime tâche...

Dok'
 

Discussions similaires

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…