Re : Si telle cellule est vide, alors masquer la ligne
Bonsoir Pixel, DoubleZéro,
Etant donné le nombre important de solutions : 2T, 4T, 2Tc/o, 2T2F
1/ Au lieu d'imbriquer des tonnes de boucle "
If ... Then ... Else ... End If" qui serait long, fastidieux, difficile à comprendre et relire, j'ai opté pour la boucle :
"
--Select Case ...
------Case Is ...
-----------...
------Case Is ...
-----------...
--End Select
"
2/ J'ai mis en J66 une liste, permettant ainsi d'éviter les fautes de frappes, et donc un mauvais fonctionnement de la macro.
De plus, pour éviter un nombre trop important de lignes de code, tu verras que :
1/ les lignes à masquer ont été
regroupées et
mises à la suite (utilisation de la fonction "Range" au lieu de "Rows" mais le résultat est le même
).
2/ l'affichage des lignes précédements masqué raccourci au maximum, et mis au début et une seule fois
Cells.EntireRow.Hidden = False
Ce code signifie : sélectionner TOUTES les lignes de la feuille ENTIERE (et non pas seulement quelques lignes - au risque d'en louper) et les afficher.
3/ pour éviter la répétition inutile du code "
If Target.Address = "$J$66" ", je l'ai placé au début de la macro. Plusieurs avantages : code plus court, mais également un temps d'exécution de la macro plus rapide. Si la cellule sélectionné n'est pas J66, il quitte immédiatement la macro, alors qu'avant non.
Bonne fin de soirée