afficher une ligne masquer

  • Initiateur de la discussion Initiateur de la discussion David59
  • Date de début Date de début

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 !

D

David59

Guest
Bonjour le forum

Je me demande s’il est possible d’enlever le masque d’une ligne en fonction de la ligne précédente😕

Ex: je voudrais quand j’écris dans la case "E" où "I" de la ranger 11 que la ranger N° 12 ne soit plus masquer

Merci d’avance David@+
 
Re : afficher une ligne masquer

je voudrais que la ligne 10 ne soit plus masquer à partir qu"il y a et nom ou un chiffre dans un des cases de la ligne 9

Sans titre.jpg
 

Pièces jointes

  • Sans titre.jpg
    Sans titre.jpg
    31 KB · Affichages: 201
  • Sans titre.jpg
    Sans titre.jpg
    31 KB · Affichages: 200
Re : afficher une ligne masquer

Bonjour David, nobleza,

A placer dans le code de la feuille (clic droit sur l'onglet et Visualiser le code) :

Code:
Private Sub Worksheet_Change(ByVal Target As Range)
Rows(Target.Row + 1).Hidden = Application.CountA(Rows(Target.Row)) = 0
End Sub

Edit : cette macro affiche ou masque. Si vous voulez seulement afficher, remplacer la 2ème ligne par :

Code:
If Application.CountA(Rows(Target.Row)) Then Rows(Target.Row + 1).Hidden =False

A+
 
Dernière édition:
Re : afficher une ligne masquer

bonjour job75

ton code vba
Code:
Private Sub Worksheet_Change(ByVal Target As Range)
Rows(Target.Row + 1).Hidden = Application.CountA(Rows(Target.Row)) = 0
End Sub

repond exactement à ma question, je me demande si cela est possible maintenant de cibler que quelques lignes par exemple si je voulais que les lignes de 2 à 9 et de 11 à20😕

encore merci 🙂
david@+
 
Re : afficher une ligne masquer

Bonjour David, le forum,

La question n'est pas très très claire, mais on peut essayer cette macro :

Code:
Private Sub Worksheet_Change(ByVal Target As Range)
If Intersect(Target, Range("2:9,11:20")) Is Nothing Then Exit Sub
Dim sel As Range
If Target.Count = 1 Then Set sel = Target.Offset(Application.CountA(Target))
For Each Target In Range("2:9,11:20").Rows
Target.Offset(1).Hidden = Application.CountA(Target) = 0
Next
If Not sel Is Nothing Then sel.Select
End Sub

Le 1er test If n'est pas indispensable, mais c'est mieux.

Cela convient-il ? Edit : il faut peut-être remplacer :20 par :19...

A+
 
Dernière édition:
- 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
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Retour