Macro masquer lignes à la condition que

Bonjour,

Voici mon problème,

J'ai un tableau avec une macro pour effacer les lignes vides. Je voudrais que si le tableau est vide les lignes d'en-tête se masquent. J'ai cette macro de fait qui allait super bien jusqu'à ce que je veuille masquer ces lignes d'en-tête. Le problème se situe à partir de la 6e ligne.

Dim cel As Range
For Each cel In Range("C1204:C1284")
If cel = "" Then
cel.EntireRow.Hidden = True
End If
If cel("A1290") = "" Then
Rows("1288:1289").Select
Selection.EntireRow.Hidden = True
End If
Next
For Each cel In Range("F1290:F1331")
If cel = "" Then
cel.EntireRow.Hidden = True
End If
Next

Merci pour votre aide :)

1 réponse

  1. Bonjour,

    A voir

    Sub test()
    Dim cel As Range
    For Each cel In Range("C1204:C1284")
    If cel = "" Then
    cel.EntireRow.Hidden = True
    End If
    Next
    If cel("A1290") = "" Then
    Rows("1288:1289").EntireRow.Hidden = True
    End If
    For Each cel In Range("F1290:F1331")
    If cel = "" Then
    cel.EntireRow.Hidden = True
    End If
    Next
    End Sub
    1. Désolé, cela ne fonctionne pas. J'ai encore un message d'erreur à la ligne If cel("A1290") = "" Then
    2. Bonsoir,

      Quel est le message d'erreur ?

      Je pense qu'il faudrait faire:

      Set cel = Range("A1290")
      If cel = "" Then
      Rows("1288:1289").EntireRow.Hidden = True
      End If
      Set cel = Nothing
    3. Merci!!! Cela fonctionne, par contre je viens de me rendre compte que j'avais oublier une variable. Il se pourrait que la ligne 1290 soit vide mais pas celle d'après. Comment faire pour dire à la macro cette ligne la ou la suivante ainsi de suite jusqu'a la fin de mon tableau qui comporte une dizaine de ligne.

      Merci infiniment pour votre aide :)