Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

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

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

 

Pièces jointes

  • Sans titre.jpg
    31 KB · Affichages: 198
  • Sans titre.jpg
    31 KB · Affichages: 197

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

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

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…