Macro masquer lignes à la condition que

Audrey -  
 Audrey -
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. f894009 Messages postés 17417 Date d'inscription   Statut Membre Dernière intervention   1 717
     
    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
    0
    1. Audrey
       
      Désolé, cela ne fonctionne pas. J'ai encore un message d'erreur à la ligne If cel("A1290") = "" Then
      0
    2. Polux31 Messages postés 7219 Statut Membre 1 204
       
      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
      0
    3. Audrey
       
      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 :)
      0