Cacher/Proteger- des lignes

AlexandreEXCEL

XLDnaute Nouveau
Bonjour à tous!
J'ai un gros soucis sur mon fichier Excel et après de nombreuse manip et modifications des macros, script, etc..., je n'arrive plus du tout à afficher mes lignes. Je suis novice en VBA, et j'ai pensé pourvoir m'en sortir quand même mais je suis maintenant totalement bloqué sur un message de "débogage".
Aujourd'hui, je dois tout reprendre à zéro et j'aurais grandement besoin de votre aide, s'il vous plait!

Voici, ma problématique :
J’ai un fichier Excel avec 5 onglets.
Je cherche à :
-masquer les lignes de 125 à 350- sur tous les onglets - automatiquement, à la fermeture de Excel
-rendre ces lignes visibles uniquement grâce un bouton + mot de passe
Idéalement, le mot de passe ne doit pas apparaître lorsque l’on fouille dans les macros (sript VBA, etc..).
Les lignes de 1 à 124 ne doivent pas être bloquées, dans tous les onglets.

Merci merci d'avance pour votre aide
Alexandre
 

vgendron

XLDnaute Barbatruc
Re : Cacher/Proteger- des lignes

Hello et bienvenu sur ce forum

en premier lieu, il faudrait que tu postes ton fichier exemple (sans data confidentielle) pour qu'on se rende mieux compte du contexte

pour masquer les lignes
Rows("125:350").Hidden = true

à la fermeture du fichier:
il faut mettre ce code dans l'évenement beforeclose du thisworkbood.. (comme ca. j'imagine que tu ne comprends pas grand chose.. d'ou l'intéret de poster ton fichier )

pour les afficher.. ....
Rows("125:350").Hidden = false

à mettre dans l'évènement Open du Thisworkbook
 

Papou-net

XLDnaute Barbatruc
Re : Cacher/Proteger- des lignes

Bonjour Alexandre, et bienvenue,

Ci-joint un fichier exemple avec un bouton de déprotection sur la première feuille. Le mot de passe retenu est "0000" mais bien sûr, tu peux le modifier. Il est écrit en clair dans le code du module ThisWorkbook, Workbook_BeforeClose(Cancel As Boolean).

J'attire toutefois ton attention sur le fait qu'il faut protéger VBA par mot de passe, sans quoi n'importe quel utilisateur connaissant les macros pourra déprotéger tes feuilles.

Cordialement.

PS: bonjour vgendron
 

Pièces jointes

  • Classeur Alexandre.xlsm
    27.6 KB · Affichages: 57

AlexandreEXCEL

XLDnaute Nouveau
Re : Cacher/Proteger- des lignes

Re-Bonjour à Tous,
Je mets en pièce jointe mon fichier excel, pour vous donner une idée plus précise.
En effet; il faut que les lignes ne soient visibles qu'après avoir renseigné le mot de passe, mais il faut aussi que je protége la "macro" pour que le mot de passe soit lui aussi invisible pour un connaisseur d'excel.... et la, je suis aussi perdu
Merci
Alexandre
 

Pièces jointes

  • IDFORM - PRODUCT (7)-.xlsx
    104.8 KB · Affichages: 40

AlexandreEXCEL

XLDnaute Nouveau
Re : Cacher/Proteger- des lignes

Bonjour Papou et Rgendron,
Merci pour vos réponses rapides!
Papou, j'ai essayé ton tableau : le bouton fonctionne parfaitement pour l'affichage mais en contre partie toutes les lignes sont protégées de 0 à l'infini, on ne peut pas travailler sur les lignes 0 à 124... (si on ne renseigne pas le mot de passe...) or je souhaiterais que les lignes 0 à 124 soient en mode collaboratif, non protégées et que seul l'affichage des lignes 125 à 350 soient protégé
Alexandre
 

Papou-net

XLDnaute Barbatruc
Re : Cacher/Proteger- des lignes

RE Alexandre,

Voici ton fichier adapté.

Effectivement, tu as raison: les lignes non masquées ne sont pas modifiables de par la protection de la feuille. J'ai prévu cette protection car, sinon, il est possible d'afficher les lignes masquées par les menus. Pour éviter de te compliquer la vie, je te suggère de décocher la propriété Format de cellule, Protection, Verrouillée pour les zones qui doivent être modifiables. C'est somme toute très classique comme procédure dans un fichier Excel.

A +

Cordialement.
 

Pièces jointes

  • IDFORM - PRODUCT (7)-.xlsm
    128.3 KB · Affichages: 55

AlexandreEXCEL

XLDnaute Nouveau
Re : Cacher/Proteger- des lignes

...Euh Papou, comment dire.. 'le fichier FONCTIONNE PARFAITEMENT! "!!!! tu es top , merci bcp, bcp pour ton aide!
J'ai, en effet, modifié les "format de cellule", les lignes de 0 à 125 sont collaboratives.... le reste ne l'est pas, et ceci est valable pour les 5 onglets, c'est top.
J'ai encore 3 questions, si tu peux encore m'aider :
-Critique : le mot de passe apparaît dans Thisworkbook. Comment protéger VBA ?
-Fonctionnel : dans Thisworkbook, suffit-il de changer les caractères entre " " pour changer le mot de passe ? la question peut paraître anodine, mais après avoir bcp galéré, je ne veux plus jouer à l'apprenti sorcier..
-Ergonomie : le bouton "afficher les lignes " apparaît sur l'onglet 1, en ligne 3. Est-il possible de LE dupliquer en ligne 124, et sur tous les autres onglets ? et est-il aussi possible de le mettre en forme (je n'ai accès à aucune fonction de mise en forme..)
Alexandre
 

Papou-net

XLDnaute Barbatruc
Re : Cacher/Proteger- des lignes

RE Alexandre,

Réponse 1: j'ai ajouté un contrôle Label2 (Mot de Passe) dansUserform1. Si tu veux modifier le mot de passe, tu dois sélectionner Label2 et modifier le texte dans la propriété Tag.
Attention: le projet VBA est protégé par mot de passe ("0000"). Pour le modifier, dans l'éditeur cliquer sur Outils, Propriétés de VBA Project... puis onglet Protection.

Réponse 2: cf réponse 1

Réponse 3: au lieu d'ajouter un bouton sur chaque feuille, j'ai créé un UF (Userform2) que l'on ne peut fermer mais qu'on peut déplacer quelle que soit la feuille active. Je pense par ailleurs que tu pourras le mettre en forme vu qu'il est dans un module de code.

Espérant avoir répondu.

Cordialement.
 

Pièces jointes

  • IDFORM - PRODUCT (7-1)-.xlsm
    129 KB · Affichages: 53

Staple1600

XLDnaute Barbatruc
Re : Cacher/Proteger- des lignes

Bonsoir à tous



[Complément d'information]
J'attire toutefois ton attention sur le fait qu'il faut protéger VBA par mot de passe, sans quoi n'importe quel utilisateur connaissant les macros pourra déprotéger tes feuilles.
Ce ne sera pas suffisant, car cette protection s'enlève aussi facilement qu'ils le disent sur le net.

Et même sans cela, il suffit d’enregistrer le fichier en *.xlsx (donc plus de projet VBA) puis ensuite CTRL+A
puis clic-droit Afficher.
[/Complément d'information]
 

Papou-net

XLDnaute Barbatruc
Re : Cacher/Proteger- des lignes

Bonsoir JM,

Ce ne sera pas suffisant, car cette protection s'enlève aussi facilement qu'ils le disent sur le net.
Tu as parfaitement raison, mais il est certain que cette solution saura en freiner plus d'un dans la recherche du mot de passe. Tous les utilisateurs ne sont pas des aficionados du bidouillage XL. Heureusement, car l'utilité du verrouillage des projets VBA n'aurait plus sa raison d'être.


Et même sans cela, il suffit d’enregistrer le fichier en *.xlsx (donc plus de projet VBA) puis ensuite CTRL+A
puis clic-droit Afficher.
Dans ma seconde solution, tu constateras que j'avais anticipé cette éventualité.

Bien cordialement, et avec respect.
 

Staple1600

XLDnaute Barbatruc
Re : Cacher/Proteger- des lignes

Bonsoir Papou-net

Dans ma seconde solution, tu constateras que j'avais anticipé cette éventualité.
Là, encore on trouve profusion de solution pour déprotéger feuille/classeur sans connaitre le mot de passe.

Mais effectivement, si l'utilisateur final débute dans l'utilisation d'Excel, cette protection suffira un temps.
(mais c'est loin d'être une protection fiable, il est bon de le savoir avant de diffuser des classeurs à des tierces personnes dans un cadre professionnel surtout si le classeur est amené à contenir des données sensibles pour l'entreprise)
 

AlexandreEXCEL

XLDnaute Nouveau
Re : Cacher/Proteger- des lignes

Bonsoir Papou-Net,
Merci encore pour cette solution! tout fonctionne et j'ai pu changer le mot de passe VBA.
Par contre, je ne te comprends pas pour modifier le mot de passe qui valide l'affichage.
Tu écris : Si tu veux modifier le mot de passe, tu dois sélectionner Label2 et modifier le texte dans la propriété Tag.

J'ai 2 userform, mais je n'arrive pas à identifier ce qu'est "Label2" et encore moins "propriété Tag du coup...

Merci
Alexandre
 

AlexandreEXCEL

XLDnaute Nouveau
Re : Cacher/Proteger- des lignes

A Papou-Net,
C'est bon, j'ai trouvé, tout est résolu!! et tout fonctionne... merci bcp pour ton aide!
Je vais essayer des enregistrements sous différents formats, pour voir si c'est si évident de craquer le fichiers...
Merci encore et bonne soirée
Alexandre
 

Staple1600

XLDnaute Barbatruc
Re : Cacher/Proteger- des lignes

Re


AlexandreEXCEL
Pourquoi ostensiblement ignorer mes messages ?
Il ne semble pas t'avoir manqué de respect et j'ai posté dans ton post des compléments d'information en rapport avec ton post validés par la suite par Papou-net, non ?

Bonsoir JM,
Tu as parfaitement raison, mais il est certain que cette solution saura en freiner plus d'un dans la recherche du mot de passe. Tous les utilisateurs ne sont pas des aficionados du bidouillage XL. Heureusement, car l'utilité du verrouillage des projets VBA n'aurait plus sa raison d'être.
Dans ma seconde solution, tu constateras que j'avais anticipé cette éventualité.
Bien cordialement, et avec respect.
 
Dernière édition:

Discussions similaires

Statistiques des forums

Discussions
312 609
Messages
2 090 193
Membres
104 449
dernier inscrit
Miguel937