XL 2010 Afficher feuille selon mot de passe

counterbob

XLDnaute Nouveau
Bonjour
Sur une feuille "parametre" la colonne A2:A20 contient les Mots de passe, la colonne B2:B20 contient le nom des feuilles.
Les feuilles sont masquées par défaut par Feuille.Visible = xlVeryHidden
Je souhaiterais afficher la feuille correspondant au mot de passe saisie dans un inputbox.
j'ai réalisé ce code mais ça bloque sur la ligne 8 "erreur d'exécution '91' variable objet ou variable de bloc With non définie."

Merci pour votre aide



Sub AfficheOnglet()

Dim MDP As String
Dim c As Range
Dim sh As String 'valeur à trouver dans la colonne B
MDP = InputBox("Veuillez entrer le mot de passe.")
Set c = Sheets("parametre").Range("A1:A20").Find(MDP, LookIn:=xlValues, lookat:=xlWhole)
c.Offset(0, 1).Select 'sélection de la cellule colonne B
sh = ActiveCell.Value
Sheets(sh).Visible = True 'afficher la feuille
If Not c Is Nothing Then
Sheets(sh).Activate 'activer la feuille
Set c = Nothing
Else
MsgBox "valeur " & MDP & " Invalide"
End If

End Sub
 

Lone-wolf

XLDnaute Barbatruc
Bonjour counterbob,

VB:
Sub AfficheOnglet()
Dim MDP As String
Dim c As Range
Dim sh As Range 'valeur à trouver dans la colonne B

MDP = InputBox("Veuillez entrer le mot de passe.")
Set c = Sheets(1).Range("A1:A20").Find(MDP, LookIn:=xlValues, lookat:=xlWhole)
Set sh = c.Offset(0, 1)
If Not c Is Nothing Then
Sheets(sh.Value).Visible = True 'afficher la feuille
Sheets(sh.Value).Activate 'activer la feuille
Else
MsgBox "valeur " & MDP & " Invalide"
End If
Set c = Nothing

End Sub
 
Dernière édition:

JBARBE

XLDnaute Barbatruc
Bonjour à tous,
Peut-être ceci mais le fait de masquer la feuille ayant un mot de passe ne sert à rien puisqu'il est facile d'y accéder
En mettant un mot de passe dans la macro il est possible pour les non initiés (je dis bien non initiés d'excel) de masquer ces mots de passe
Néanmoins : A tester
Code:
Sub AfficheOnglet()
Dim MDP As String, sh As String, i As Long
With Sheets("parametre")
MDP = InputBox("Veuillez entrer le mot de passe.")
For i = 2 To 21
If .Cells(i, 1) = MDP And .Cells(i, 2) <> "" Then
sh = .Cells(i, 2).Value
Sheets(sh).Visible = True 'afficher la feuille
Sheets(sh).Activate 'activer la feuille
Exit Sub
ElseIf i = 21 Then
MsgBox "valeur " & MDP & " Invalide ou non Trouvée"
End If
Next i
End With
End Sub
Bonne journée !
 
Dernière édition:

Staple1600

XLDnaute Barbatruc
Bonjour le fil, le forum

Une façon de faire
NB: TABLEAU est le nom donné (à l'aide du gestionnaire de noms) à la plage de cellules A1:B20 sur la feuille parametre.
VB:
Sub Test()
Dim MDP, FEUILLE$
MDP = InputBox("Saisir le mot de passe, svp")
FEUILLE = Application.VLookup(MDP, [TABLEAU], 2, 0)
If IsError(FEUILLE) Then
MsgBox "Mot de passe invalide!", vbCritical
Else
Sheets(FEUILLE).Visible = True
Sheets(FEUILLE).Activate
End If
End Sub

EDITION: Pas rafraîchi, pas vu le passage du Loup Solitaire et de JBARBE
(bonjour à vous deux)
 

JBARBE

XLDnaute Barbatruc
Re,
Bonjour Lone-wolf - Jean Marie ,
Que je le disais avant, le fait de mettre des mots passe dans une feuille est incohérent !
Même en faisant une macro avec mot de passe et ensuite mettre un code d’accès à cette macro n'est pas un gage de sécurité !
Bonne journée !
 

counterbob

XLDnaute Nouveau
Bonjour le fil, le forum

Une façon de faire
NB: TABLEAU est le nom donné (à l'aide du gestionnaire de noms) à la plage de cellules A1:B20 sur la feuille parametre.
VB:
Sub Test()
Dim MDP, FEUILLE$
MDP = InputBox("Saisir le mot de passe, svp")
FEUILLE = Application.VLookup(MDP, [TABLEAU], 2, 0)
If IsError(FEUILLE) Then
MsgBox "Mot de passe invalide!", vbCritical
Else
Sheets(FEUILLE).Visible = True
Sheets(FEUILLE).Activate
End If
End Sub

EDITION: Pas rafraîchi, pas vu le passage du Loup Solitaire et de JBARBE
(bonjour à vous deux)

Merci beaucoup c'est parfait
je joins le fichier.
pour répondre au problème de sécurité des mots de passe je ne comprends pas où est le problème.
merci encore
Cordialement
 

Pièces jointes

  • TestMdP.xlsm
    41.4 KB · Affichages: 42

JBARBE

XLDnaute Barbatruc
Re,
Le mot de passe pour accéder au VBA et à toutes les feuilles est 1234
Ne me demande pas comment j'ai fait car il est très facile de cracker un mot de passe comme je l'ai dit précédemment (recherche sur le web)!
Si tes utilisateurs sont néophytes pas de probléme !
Dans d'autre cas, le mot de passe est inutile !
Bonne journée quand même !
 

Pièces jointes

  • TestMdP1.xls
    101 KB · Affichages: 47

counterbob

XLDnaute Nouveau
Re,
Le mot de passe pour accéder au VBA et à toutes les feuilles est 1234
Ne me demande pas comment j'ai fait car il est très facile de cracker un mot de passe comme je l'ai dit précédemment (recherche sur le web)!
Si tes utilisateurs sont néophytes pas de probléme !
Dans d'autre cas, le mot de passe est inutile !
Bonne journée quand même !

merci de l'info
Je sais cracker les mots de passe VBA. c'est assez facile puis tu le modifies. Les classeurs excel ne sont pas réputés pour la protection.
Néanmoins les utilisateurs de ce classeur partagé ne sont pas néophytes ce n'est pas un soucis pour la protection.
Bonne soirée
 

JBARBE

XLDnaute Barbatruc
merci de l'info
Je sais cracker les mots de passe VBA. c'est assez facile puis tu le modifies. Les classeurs excel ne sont pas réputés pour la protection.
Néanmoins les utilisateurs de ce classeur partagé ne sont pas néophytes ce n'est pas un soucis pour la protection.
Bonne soirée
Re,
Il n'y a pas que les classeurs Excel malheureusement !
Certains sites sont obligés de trouver des protections ingénieuses pour trouver une parade aux programmes informatiques complexes (robots) capable de trouver en quelques secondes les mots de passe les plus complexes !
Je ne vais pas montrer l'exemple des banques qui est imparable !( heureusement)
Mais prenons l'exemple d'un site demandant un mot de passe de plus de 8 caractères comprenant des majuscules - minuscules - chiffres et éventuellement signes !
Une fois le mot de passe saisie, il est demandé de cocher telle image demandée sur présentation de divers images (ce que l'on demandait pas il y a quelques temps) !
Ainsi, l'ingéniosité des hackers évolue de plus en plus et j’espère que l'on trouvera la parade à chaque fois !
Bonne soirée !
 

JBARBE

XLDnaute Barbatruc
Bonsoir le fil, le forum

En passant

Imparable? Pas si sur ;) (cf les lien ci-dessous)
Aie!
Ouille!
Re,
En ce qui concerne mes 2 banques, pour faire un virement permanent sur un compte il faut prendre un rendez-vous avec un conseiller financier qui fait le nécessaire afin que le compte concerné puisse obtenir ces virements !
Bref, quelqu'un qui s'introduirait sur mon compte a peut de chance de prélever une somme sans faire ces démarches !
Et puis, ils sont suffisamment riche pour acquérir une personne très compétente dans le domaine de la sécurité informatique!
Un peu comme les milliardaires s'offrant les meilleurs conseillers fiscaux pour mettre à l'abri du fisc leur fortune !
Nous si ça nous arrive de nous faire arnaquer il ne nous reste plus que les yeux pour pleurer !
Bonne soirée !
 

Discussions similaires

Statistiques des forums

Discussions
312 215
Messages
2 086 329
Membres
103 183
dernier inscrit
karelhu35