Bonjour à tous
j' ai un tableau qui doit être rempli pour diverses opérations
ce tableau contient une colonne J avec des coûts qui sont confidentiels
je cherche donc la maniere d'afficher une colonne avec un code
Pour afficher cette colonne
boite de dialogue qui dit veuillez afficher votre code
je mets un code
si code égale à 1234 alors
Columns("J:J").Select
Selection.EntireColumn.Hidden = False
sinon exit sub
Sub CodeSecret()
ReponseCodeSecret = InputBox("Veuillez saisir le code secret")
If ReponseCodeSecret = "1234" Then Columns("F:F").Select: Selection.EntireColumn.Hidden = False Else Exit Sub
End Sub
Il faudrait également prévoir de remasquer la colonne avant fermeture du fichier en cas d'utilisateurs variés
Code:
Private Sub Workbook_BeforeClose(Cancel As Boolean)
Feuil1.Select [COLOR="SeaGreen"]' A adapter[/COLOR]
Columns("F:F").Select: Selection.EntireColumn.Hidden = True
End Sub
Par contre, avec ces codes, un utilisateur peut se rendre dans le VBE et trouver le code... il faudrait trouver le moyen d'empécher la lecture de la macro et protéger la feuille pour éviter que l'utilisateur ne puisse démasquer la colonne.
Bonjour,
Avant même que d'aller farfouiller dans le code, j'irais dans le menu format pour réafficher toutes les colonnes...!
Quelle que soit la méthode, il faut protéger la feuille
Un exemple en PJ qui masque ou démasque une forme sur la feuille1 dont seuls les objets sont protégés (Mdp= 1234)
A+
kjin
Bonjour
Indépendamment de toute autre considération, avec un DoubleClic en D3 (par exemple) :
Si… bon code, affichage de C sinon... non !
Code:
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
Cancel = True
If Target.Address = "$D$3" Then Columns("C:C").Hidden = (InputBox("Mdp ?") <> "1234")
End Sub
Je viens juste de sortir de reunion et je vais mettre vos solution en pratique
un grand merci à Lebonetletruand,kjin,et Si...en cas de souci je me permettrais de revenir grace à vous je progresse petit à petit