afficher une ligne masquer

David59

XLDnaute Junior
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:confused:

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@+
 

David59

XLDnaute Junior
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: 197
  • Sans titre.jpg
    Sans titre.jpg
    31 KB · Affichages: 196

job75

XLDnaute Barbatruc
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:

David59

XLDnaute Junior
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:confused:

encore merci :)
david@+
 

job75

XLDnaute Barbatruc
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:

Discussions similaires

Statistiques des forums

Discussions
311 729
Messages
2 081 970
Membres
101 852
dernier inscrit
dthi16088