VBA_Masquer les lignes qui ne contiennent pas de données

Bonjour,

Je souhaite masque les ligne qui ne contiennent pas de données.

Les lignes à masquées sont situées entre les cellules nommées DEBUT et FIN.

Par convention, et peut être par erreur, je me suis focaliser sur 2 colonne de mon tableau (B et I) car j'y fait des importations de données.

Peut-être peut on faire sur l'ensemble du tableau (entre les colonne A et U, et entre Les lignes ou sont présentes les cellules DEBUT et FIN).

Pour l'exemple, il y a :

- Une cellule DEBUT en A10

- Une cellule FIN en A200, (ces cellules peuvent changer de lignes)

- J'importe des données entre les lignes de DEBUT et FIN

- L'importation des données se fait à partir des colonnes B et I.

J'arrive à vérifier que des valeurs sont présentes soit en B soit en I, mais pas les 2 simultanément.

Il faut masquer les lignes ou il n'y a pas de données en I ou en B

Pour vérifier une colonne, ça fonctionne :

Range(Cells([AUDIT_DEPART].Row, "B"), Cells([AUDIT_FIN].Row, "B")).SpecialCells(xlCellTypeBlanks).EntireRow.Hidden = True

Maintenant pour vérifier 2 colonnes, j'ai essayer avec

#

Range(Range(xx,xx),Range(xx,xx))

Mais ça masque toutes les lignes entre Début et Fin

Range(Range(Cells([AUDIT_DEPART].Row, "B"), Cells([AUDIT_FIN].Row, "B")), Range(Cells([AUDIT_DEPART].Row, "I"), Cells([AUDIT_FIN].Row, "I"))).SpecialCells(xlCellTypeBlanks).EntireRow.Hidden = True

#

Union(Range(xx,xx),Range(xx,xx))

Mais ça masque les lignes ou il n'y a pas de données en B & I, oer s'il y a une données dans l'une des 2 colonnes, je ne souhaite pas masquer la ligne

Union(Range(Cells([AUDIT_DEPART].Row, "B"), Cells([AUDIT_FIN].Row, "B")), Range(Cells([AUDIT_DEPART].Row, "I"), Cells([AUDIT_FIN].Row, "I"))).SpecialCells(xlCellTypeBlanks).EntireRow.Hidden = True

J’espère avoir été clair

Merci pour votre lecture

Bonjour et bienvenu,

C'est à peu près clair ...

Merci d'envoyer un exemple de fichier !

Bouben

Ci joint, un fichier avec le même principe que sur celui sur lequel je travaille

Une feuille "audit", où l'on vient sélectionner le magasin souhaité et où les articles seront affichés

Une seconde avec la liste des magasin et leurs coordonnées

Une troisième que je récupère d'une base de données ou il y a l'id du magasin ainsi que la liste des articles présents dans chaque magasin.

La feuille où je souhaite masquer les lignes une fois la macro "Actualiser les articles" exécutée est la première Feuille

Bonjour,

Ci-joint une proposition à tester.

Bouben

Bonjour,

merci cela fonctionne parfaitement

Bonne journée

Rechercher des sujets similaires à "vba masquer lignes qui contiennent pas donnees"