Macro masquer lignes à la condition que

Fermé
Audrey - 11 févr. 2014 à 19:33
 Audrey - 12 févr. 2014 à 21:54
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 :)
A voir également:

1 réponse

f894009 Messages postés 17205 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 19 octobre 2024 1 709
12 févr. 2014 à 07:45
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
Désolé, cela ne fonctionne pas. J'ai encore un message d'erreur à la ligne If cel("A1290") = "" Then
0
Polux31 Messages postés 6917 Date d'inscription mardi 25 septembre 2007 Statut Membre Dernière intervention 1 novembre 2016 1 204
12 févr. 2014 à 20:56
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
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