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

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
 

phlaurent55

Nous a quittés en 2020
Repose en paix
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
 

Jacques25

XLDnaute Occasionnel
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
 

phlaurent55

Nous a quittés en 2020
Repose en paix
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
 

Discussions similaires

Réponses
46
Affichages
648

Statistiques des forums

Discussions
311 733
Messages
2 082 019
Membres
101 872
dernier inscrit
Colin T