Masquer/afficher une ligne

Résolu
zambrya Messages postés 22 Date d'inscription   Statut Membre Dernière intervention   -  
zambrya Messages postés 22 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,

J'aurais besoin de votre aide, j'ai trouvé la macro suivante de Mike-31, qui permet de masquer les lignes quand une cellule dans la colonne M est vide:

Sub masquer_ligne_Vide()
Dim cel As Range
For Each cel In Range("M3:M100")
If cel = "0" Then
cel.EntireRow.Hidden = True
End If
Next
End Sub

Je voudrais ajouter une condition pour que la ligne s'affiche quand la cellule dans la colonne M est remplie

Merci par avance pour votre aide.

Zambrya
A voir également:

2 réponses

Danelectro Messages postés 1737 Date d'inscription   Statut Membre Dernière intervention   371
 
Salut,
Peut être quelque chose comme ça ?

Sub masquer_ligne_Vide()
Dim cel As Range
For Each cel In Range("M3:M100")
If cel != "0" Then
cel.EntireRow.Hidden = False
End If
Next
End Sub
0
zambrya Messages postés 22 Date d'inscription   Statut Membre Dernière intervention  
 
Bonjour,

Merci pour la réponse.
La macro fonctionne pour afficher les cellules, mais en fait je voudrait que les cellules où il y a "0" soit masquées et les cellules différente de "0" soit affichées

Il faudrait une macro où les deux conditions soit imbriquées

Merci

Zambrya
0
zambrya Messages postés 22 Date d'inscription   Statut Membre Dernière intervention   > zambrya Messages postés 22 Date d'inscription   Statut Membre Dernière intervention  
 
En gros je voudrais une formule de ce genre :

Sub masquer_ligne_Vide()
Dim cel As Range
For Each cel In Range("M3:M100")
If cel = "0" Then
cel.EntireRow.Hidden = True
Else : cel <> 0
cel.EntireRow.Hidden = False
End If
Next
End Sub

Mais la ligne en gras est en rouge. Je ne sais pas comment faire le signe "différent de". Le signe "!=" ne fonctionne pas non-plus.

Merci

Zambrya
0
Mike-31 Messages postés 18405 Date d'inscription   Statut Contributeur Dernière intervention   5 135
 
Bonjour,

comme cela

Sub masquer_ligne_Vide()
Dim cel As Range
For Each cel In Range("M3:M100")
If cel = "0" Then
cel.EntireRow.Hidden = True
ElseIf cel <> 0 Then
cel.EntireRow.Hidden = False
End If
Next
End Sub


par contre je pense que tu devrais prévoir un bout de code pour éventuellement afficher les lignes masquées pour modifier les données

Sub afficher()
Cells.EntireRow.Hidden = False
End Sub
A+
Mike-31

Une période d'échec est un moment rêvé pour semer les graines du savoir.
0
zambrya Messages postés 22 Date d'inscription   Statut Membre Dernière intervention  
 
Merci beaucoup c'est exactement ce que je voulais

Bonne journée

Zambrya
0