Excel : protéger par mot de passe

Fermé
gildautal Messages postés 16 Date d'inscription samedi 8 décembre 2007 Statut Membre Dernière intervention 9 janvier 2008 - 8 déc. 2007 à 10:23
gildautal Messages postés 16 Date d'inscription samedi 8 décembre 2007 Statut Membre Dernière intervention 9 janvier 2008 - 10 déc. 2007 à 20:36
Bonjour à toutes et à tous
je voudrais dans la mesure du possible, protéger et déprotéger 10 cellules ( B3, C5, E9, F2, G4, A8, I3, D5, H1, J19) avec un mot de passe particulier et caché bien sur, au moment ou l'on clic dessus, indépendemment de la protection de la feuille et avec une fenetre du style "mot de passe demandé pour cette cellule" : ...mdp.......... "OK" , "ANNULER" .Si le mot de passe est bon, la cellule est accessible à toutes modifications sinon la cellule reste verrouillée. Il faudrait aussi que la protection de ces cellules soit activée dès l'ouverture du fichier.

remerciements
A voir également:

5 réponses

Bonjour


Voici un petit code évémentiel à mettre dans la page à protégée


Private Sub Worksheet_Activate()
mdp = InputBox("mot de passe", "protection de certaines cellules", "saisir le mot de passe")
If mdp <> "néné" Then
Range("B3, C5, E9, F2, G4, A8, I3, D5, H1, J19").Select 'Cellule que tu veux protéger
With Selection.Validation
.Delete
.Add Type:=xlValidateCustom, AlertStyle:=xlValidAlertStop, Operator:= _
xlBetween, Formula1:="="""""
.ErrorMessage = "Mot de passe nécessaire pour l'accés à cette cellule !"

End With
Else
Cells.Select
With Selection.Validation
.Delete
End With
End If
Range("a1").Select
End Sub
0
gildautal Messages postés 16 Date d'inscription samedi 8 décembre 2007 Statut Membre Dernière intervention 9 janvier 2008 3
9 déc. 2007 à 21:49
bonsoir
merci à toi et aux autres.
vous avez bien sur raison de dire que l'on peut déverrouiller facilement des cellules mais c'est comme un cadenas il suffit d'une bonne pince !
Néanmoins nous vivons dans un monde ou des fois il suffit de dissuader un peu pour eviter des magouilles et surtout à l'initiateur de réparer les conneries.

A propos de l'ouverture des macros, n'y aurait il pas un moyen d'empêcher l'ouverture d'un fichier excel quand on n'active pas les macros ?
0
gbinforme Messages postés 14946 Date d'inscription lundi 18 octobre 2004 Statut Contributeur Dernière intervention 24 juin 2020 4 684 > gildautal Messages postés 16 Date d'inscription samedi 8 décembre 2007 Statut Membre Dernière intervention 9 janvier 2008
9 déc. 2007 à 22:30
bonjour

nous vivons dans un monde ou des fois il suffit de dissuader

Cela c'était il y a du temps car aujourd'hui même la force de dissuasion nucléaire n'a aucune valeur...

J'ai travaillé des années avec des fichiers en réseau pour plusieurs centaines de personnes (agendas, congés, formations et autres) sans aucune protection avec mise à jour partagée et les problèmes de "magouillages" n'ont pas perturbé le fonctionnement.
Avec la journalisation des mises à jour c'est plus facile d'intervenir que de chercher à connaître ceux qui ont cassé les cadenas...

A propos de l'ouverture des macros, n'y aurait il pas un moyen d'empêcher l'ouverture d'un fichier excel quand on n'active pas les macros ?

Dans ce cas, tu es obligé de mettre des macros dans tous tes tableurs sinon ils ne s'ouvrent pas ?

Pour mettre des protections sur les données qui soient de vraies protections, il ne faut pas utiliser Excel car les protections possibles sont dérisoires sur ce tableur et tant que tu fonctionnes en langage interprété tu ne peux pas être protégé. Si tu demandes des contraintes de mot de passe pour la date d'une réservation de congé tu ne peux pas obtenir l'adhésion des utilisateurs et si le contrôle est facile à contourner, il sera contourné.

Maintenant, c'est l'éternel débat entre la responsabilisation et la répression et même si "l'on nous conditionne pour nous persuader qu'elle fonctionne avec les radars", ce n'est pas mon option.
0
gildautal Messages postés 16 Date d'inscription samedi 8 décembre 2007 Statut Membre Dernière intervention 9 janvier 2008 3
10 déc. 2007 à 19:42
bonsoir
désolé mais je n'arrive pas à faire tourner ta macro.
peux tu me faire un petit fichier qui tourne avec mes conditions ?
cordialement
0
eriiic Messages postés 24569 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 28 décembre 2023 7 211
8 déc. 2007 à 11:58
Bonjour,

Voici une solution qui vaut ce quelle vaut...
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    If Intersect(Target, Range("zoneprotégée")) Is Nothing Then Exit Sub
    If InputBox("Mot de passe", "Mot de passe") <> "az" Then ActiveSheet.[A1].Select
End Sub

Sélectionne tes cellules à protéger et nomme la plage zoneprotégée.
Une mauvaise saisie du mot de passe sélectionne A1.
Remplace az par ton mot de passe.
Cette protection est pour moi est illusoire car facile à contourner en empechant les macros de s'activer.

eric
0
gbinforme Messages postés 14946 Date d'inscription lundi 18 octobre 2004 Statut Contributeur Dernière intervention 24 juin 2020 4 684
8 déc. 2007 à 23:19
bonjour

Cette protection est pour moi est illusoire car facile à contourner

100% d'accord avec toi, c'est incroyable de voir tous ceux qui essayent de verrouiller par des mots de passe sous Excel alors que n'importe qui peut, en quelque secondes, déverrouiller n'importe qu'elle protection.

Cela ne sert qu'à enquiquiner ceux qui n'ont pas envie de chercher...

Si l'on veux protéger son code et ses feuilles mieux vaut les enfermer dans un coffre que de les diffuser !

En tout cas, si j'avais à utiliser le classeur de gildautal, sa protection ne m'inciterais qu'à écraser ces cellules.

Faisons un tant soit peu confiance aux utilisateurs en les responsabilisant !
0
eriiic Messages postés 24569 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 28 décembre 2023 7 211
9 déc. 2007 à 00:21
C'est clair que éduquer et faire confiance est plus efficace. Et tant pis s'il y a des bourdes de faites, on ressort la version propre...
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Bonjour


Voici un code pour forcer les macros au démarage du fichier si vous n'activer pas les macros


Creer une feuille "Alertemacro"

Saisir sur cette feuille, un message du style:

"Vous devez activer les macros pour pouvoir utiliser ce fichier correctement"


coller ce code dans Thisworkbook

Private Sub Workbook_BeforeClose(Cancel As Boolean)
Application.ScreenUpdating = False
Sheets("AlerteMacro").Visible = True
Sheets("menu").Select 'ou autre page
ActiveWindow.SelectedSheets.Visible = False
With ActiveWindow
.DisplayHorizontalScrollBar = True
.DisplayVerticalScrollBar = True
End With
Application.DisplayFormulaBar = True
ActiveWindow.DisplayHeadings = True
End Sub

Private Sub Workbook_Open()
Sheets("menu").Visible = True 'ou autre page
Sheets("AlerteMacro").Visible = False
End Sub



Protéger ensuite le ProjectVBA
0
gildautal Messages postés 16 Date d'inscription samedi 8 décembre 2007 Statut Membre Dernière intervention 9 janvier 2008 3
10 déc. 2007 à 20:36
bravo pour ta soluce forcage macro ca fonctionne très bien merci pour ton savoir par contre pour le post 1 je n'y arrive pas .
Peux tu me faire un petit fichier avec mes conditions
merci
cdlt
0