Masquer des lignes de macros

Bonjour tout le monde,

Je travaille sur un fichier Excel à mon stage présentement et j'ai un problème avec les macros puisque j'en suis à mes débuts et mes collègues ne sont pas capables de m'aider.

Donc, je veux, à l'aide des macros, masquer les lignes de mon classeur qui contiennent des valeurs nulles afin de créer un graphique par la suite. Il faut qu'Excel masque la ligne uniquement si les deux cellules (D58 et F58) sont nulles, mais il masque la ligne seulement si la cellule D58 est nulle. C'est comme s'il ne s'occupait pas du «Et». Voici ce que j'ai fait:

Sub MasqueLigne()

If D58 = 0 And F58 = 0 Then Rows("58:58").EntireRow.Hidden = True

If D59 = 0 And F59 = 0 Then Rows("59:59").EntireRow.Hidden = True

If D60 = 0 And F60 = 0 Then Rows("60:60").EntireRow.Hidden = True

If D61 = 0 And F61 = 0 Then Rows("61:61").EntireRow.Hidden = True

If D62 = 0 And F62 = 0 Then Rows("62:62").EntireRow.Hidden = True

If D63 = 0 And F63 = 0 Then Rows("63:63").EntireRow.Hidden = True

If D64 = 0 And F64 = 0 Then Rows("64:64").EntireRow.Hidden = True

If D65 = 0 And F65 = 0 Then Rows("65:65").EntireRow.Hidden = True

If D58 <> 0 Or F68 <> 0 Then Rows("58:58").EntireRow.Hidden = False

If D59 <> 0 Or F59 <> 0 Then Rows("59:59").EntireRow.Hidden = False

If D60 <> 0 Or F60 <> 0 Then Rows("60:60").EntireRow.Hidden = False

If D61 <> 0 Or F61 <> 0 Then Rows("61:61").EntireRow.Hidden = False

If D62 <> 0 Or F62 <> 0 Then Rows("62:62").EntireRow.Hidden = False

If D63 <> 0 Or F63 <> 0 Then Rows("63:63").EntireRow.Hidden = False

If D64 <> 0 Or F64 <> 0 Then Rows("64:64").EntireRow.Hidden = False

If D65 <> 0 Or F65 <> 0 Then Rows("65:65").EntireRow.Hidden = False

End Sub

Merci beaucoup de votre aide, ça serait très apprécié ! J'ai travaillé toute la journée là-dessus et je ne parviens pas à trouver...

Bonne soirée!

Bonsoir,

remplace ton code par celui-ci

Sub MasqueLigne()

For a = 58 To 65
If Cells(a, 4) = 0 And Cells(a, 6) = 0 Then Rows(a).EntireRow.Hidden = True
Next a

End Sub

Woww, merci beaucoup! Ça fonctionne pour le «and»! Ça va me permettre de sauver beaucoup de temps..

Et pour que les lignes s'affichent de nouveau lorsque la valeur n'est plus nulle (parce que les cellules D58:D65 et F58:F65 contiennent des formules), je dois mettre quoi? Parce qu'elles ne s'affichent pas automatiquement avec ce nouveau code.

Merci à l'avance!

si j'ai bien compris, ça donnerait ça

Sub MasqueLigne()

For a = 58 To 65
    If Cells(a, 4) = 0 And Cells(a, 6) = 0 Then
        Rows(a).EntireRow.Hidden = True
    ElseIf Cells(a, 4) <> 0 Or Cells(a, 6) <> 0 Then
        Rows(a).EntireRow.Hidden = False
    End If
Next a

End Sub

C'est exactement cela, merci encore une fois!

Je vais pouvoir finir mon fichier grâce à toi!

Rechercher des sujets similaires à "masquer lignes macros"