Alléger un code

Résolu
gerardcjf Messages postés 47 Date d'inscription mardi 3 juillet 2007 Statut Membre Dernière intervention 26 décembre 2013 - 22 avril 2010 à 17:30
gerardcjf Messages postés 47 Date d'inscription mardi 3 juillet 2007 Statut Membre Dernière intervention 26 décembre 2013 - 22 avril 2010 à 18:12
Bonjour à tous,

J'ai un code que je cherche à allèger ... en effet je pense qu'avec une boucle on doit pouvoir la même chose ... mais quand je tente ... je plante !
Alors je viens auprès de vous voir et prendre de (bonnes !) idées !

Davance merci de votre aide ...

Mon code :
Private Sub Worksheet_deactivate()

'Gestion des lignes frais dans l'onglet synthèse
If IsEmpty(Range("E31")) Then
    Sheets("synthèse").Rows("136:136").Hidden = True
Else
    Sheets("synthèse").Rows("136:136").Hidden = False
End If

If IsEmpty(Range("E43")) Then
    Sheets("synthèse").Rows("137:137").Hidden = True
Else
    Sheets("synthèse").Rows("137:137").Hidden = False
End If

If IsEmpty(Range("E55")) Then
    Sheets("synthèse").Rows("138:138").Hidden = True
Else
    Sheets("synthèse").Rows("138:138").Hidden = False
End If

If IsEmpty(Range("E67")) Then
    Sheets("synthèse").Rows("139:139").Hidden = True
Else
    Sheets("synthèse").Rows("139:139").Hidden = False
End If

End sub

2 réponses

lesdis Messages postés 403 Date d'inscription mercredi 19 avril 2006 Statut Membre Dernière intervention 7 août 2020
22 avril 2010 à 17:46
Bonjour,

Quelque chose dans ce style :

Sheets("synthèse").Rows("136:136").Hidden = IsEmpty(Range("E31"))

Sheets("synthèse").Rows("137:137").Hidden = IsEmpty(Range("E43"))

Sheets("synthèse").Rows("138:138").Hidden = IsEmpty(Range("E55"))

Sheets("synthèse").Rows("139:139").Hidden = IsEmpty(Range("E67"))



Pour une boucle il vaudrait mieux que toutes les cellules se suivent

Bonne Prog
3
gerardcjf Messages postés 47 Date d'inscription mardi 3 juillet 2007 Statut Membre Dernière intervention 26 décembre 2013
22 avril 2010 à 18:12
Effectivement j'avais pas vu la solution sous cette angle.

Cependant en mettant un pas de x (ici 12 pour toutes les 12 cellules) on devrait pouvoir y arriver non ?

Ma difficulté est surtout qu'il y aura 2 conditions avec 2 pas différents ... la première est de test les x+12e cellules ... la seconde de cacher les y+1 ligne de l'onglet synthèse ... et c'est là que je plantouille !
3
Rejoignez-nous