VBA Excel - Masquer une cellule

Fermé
zapp56 - 21 sept. 2015 à 20:58
f894009 Messages postés 17185 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 15 avril 2024 - 22 sept. 2015 à 09:46
Bonjour (bonsoir)

Je travaille sous VBA-Excel 2003.
J'ai une feuille qui me sert de base de données, lesdites données étant exploitée par un usf.
Pour faire simple, j'ai paramétré mon code VBA de sorte que l'utilisation du fichier ne passe que par des usf. L'utilisateur n'a donc aucune visibilité sur le tableau excel "standard".

Cependant, si l'utilisateur ouvre le fichier en désactivant les macros, il retrouve toutes mes bases de données. Ceci est gênant.

J'ai donc exploité les fonctionnalités d'excel afin de masquer les lignes et colonnes de mes bases de données. Ceci permet au code de fonctionner (contrairement à la protection de feuilles et cellules) tout en cachant mes lignes et colonnes.
cf : Accueil => Cellules => Format => Masquer & afficher...

Mais si l'utilisateur s'y connaît un peu, il peut afficher mes cellules facilement.
J'aimerais protéger cet affichage par mot de passe, sans affecter l'exécution de mon code VB...

Y aurait-il un moyen ?

Vous remerciant par avance...

1 réponse

f894009 Messages postés 17185 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 15 avril 2024 1 701
22 sept. 2015 à 09:46
Bonjour,

Ceci permet au code de fonctionner (contrairement à la protection de feuilles et cellules) La protection feuille ou cellules n'empeche pas le code VBA de fonctionner. Il suffit soit de deproteger et proteger a chaque ecriture soit de faire une protection de ce type: a l'ouverture et a la fermeture du classeur (si vous voulez) qui permet d'ecrire les cellules sans deprotection
ex:
Sheets(1).Protect Password:="Secret", _
    UserInterFaceOnly:=True


Bien sur, un mot de passe sur le VBA

Vous pouvez aussi masquer la feuille par VBA ex:

Sheets(1).Visible = xlSheetVeryHidden


de ce fait il n'y a que du code VBA qui peut afficher cette feuille. Par contre, il faut afficher la feuille et la masquer suivant le type d'instruction que vous utilisez. Lecture et ecriture simple, pas de probleme
0