Empecher l'affichage des lignes mais pas la modification de hauteur

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

Jacques25

XLDnaute Occasionnel
Bonjour à tous,

Le titre n'étant pas très explicite voici mon problème :

J'ai un fichier en X étape dans lequel les utilisateur peuvent passer d'une étape à une autre si et seulement toutes les conditions sont remplies. Pour cela à l'ouverture je masque les lignes par le code suivant :

Rows("25:283").Select
Selection.EntireRow.Hidden = True

a chaque étape en fonction des conditions j'affiche les lignes de l'étape suivante par le code :

Rows("25:40").Select
Selection.EntireRow.Hidden = False

jusque là tout va bien, ceci étant un début du projet ayant beaucoup de données à protéger, j'ai vérrouillé la feuille par mot de passe pour éviter toute modification, après quelques essais j'ai dû me rendre à l'évidence que la hauteur des lignes devaient être variable. Du coup j'ai décocher la case "format des lignes"

Et là, je suis tombé sur un petit malin qui en sélectionnant les lignes masquées à réussi à les afficher.

Ma question est la suivante :

Peut on (en vba ou autre) empêcher l'affichage des lignes tout en laissant l'accès à la modification de hauteur?

Merci d'avance pour votre aide.
Bonne journée à tous.

Jack
 
Re : Empecher l'affichage des lignes mais pas la modification de hauteur

Bonjour Jack,
..........Et là, je suis tombé sur un petit malin qui en sélectionnant les lignes masquées à réussi à les afficher.

Dans la version 2007, chaque ligne contient 16384 cellules
Lorsque le "petit malin" sélectionne une (des) ligne(s) pour ensuite les afficher, le nombre de cellules sélectionnées est au minimum égal à 16384

avec le code ci-dessous, il sera impossible de sélectionner une (des) ligne(s) complète(s)
Code:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Target.Count >= 16384 Then [A1].Select
End Sub

mais il y a lieu de modifier les parties de codes ressemblant à celles-ci pour éviter un beug

Rows("25:283").Select <----- il faut éviter la sélection multiple
Selection.EntireRow.Hidden = True

en les remplaçant par:

Rows("25:283").EntireRow.Hidden = True
pour les masquer
Rows("25:283").EntireRow.Hidden = False
pour les afficher

à+
Philippe
 
Re : Empecher l'affichage des lignes mais pas la modification de hauteur

Re bonjour,

A priori ça marche, je n'ai pas encore testé tous les modes d'utilisation de mon fichier mais dans les lignes principales le fonctionnement me convient. Je regarderai plus en détail et vous ferai signe si j'ai des soucis.

Encore merci laurent.

@ plus
Jack
 
Re : Empecher l'affichage des lignes mais pas la modification de hauteur

Re,

Petite précision:
Si le fichier est utilisé avec Excel version 2003, il y a lieu de modifier 16384 et le remplacer par 256 (si mes souvenirs sont bons)

à+
Philippe
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
8
Affichages
1 K
Retour