VBA Excel - Masquer une cellule

Fermé
zapp56 - 21 sept. 2015 à 20:58
f894009
Messages postés
16499
Date d'inscription
dimanche 25 novembre 2007
Statut
Membre
Dernière intervention
26 mai 2022
- 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
16499
Date d'inscription
dimanche 25 novembre 2007
Statut
Membre
Dernière intervention
26 mai 2022
1 633
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