Masquer une ligne en fonction d'une cellule [Résolu/Fermé]

Signaler
Messages postés
300
Date d'inscription
vendredi 15 mars 2013
Statut
Membre
Dernière intervention
31 juillet 2018
-
 bruillois -
Bonjour,

J'aurais aimé savoir s'il était possible de créer une macro (activable via un bouton) qui masque automatiquement les lignes pour lesquels la valeur dans la colonne A est "vide" (Aucune n'est vraiment vide, puisqu'elles ont toutes des formules mais si la formule n'est pas utilisée, elle affiche "")

Merci d'avance

1 réponse

Messages postés
1505
Date d'inscription
vendredi 25 mai 2007
Statut
Membre
Dernière intervention
31 janvier 2018
126
Bonjour,

c'est possible mais le plus simple ne serait-il pas d'utiliser un filtre en n'affichant que les lignes qui ont des valeurs sur la colonne A??

en tout cas si tu veux une macro :

sub masquer

i=2 'la macro commence à la ligne 2, si la première ligne est 3, mets : i=3

do while cells(i,1).hasformula = true 'tant que le cellule de la ligne i et colonne 1 contient une formule
if cells(i,1) = "" then 'si la valeur de la cellule de ligne i et de la colonne 1 = "" alors
Rows(i).EntireRow.Hidden = True 'on cache la ligne

else ' sinon
Rows(i).EntireRow.Hidden = false 'on affiche la ligne
end if
i=i+1 'on passe à la ligne suivante
loop
end sub
Messages postés
300
Date d'inscription
vendredi 15 mars 2013
Statut
Membre
Dernière intervention
31 juillet 2018
16
Ta macro fonctionne parfaitement,

Je te remercie pour ton aide.

Bonne journée :)

PS : Merci pour les 'commentaires qui m'aide à mieux comprendre et donc à progresser. En revanche, peux-tu me dire ce que signifie le "loop" à la fin ? Merci.
Messages postés
1505
Date d'inscription
vendredi 25 mai 2007
Statut
Membre
Dernière intervention
31 janvier 2018
126
do while est une boucle qui ne va pas sans loop
do while est le début de la boucle
loop est la fin de la boucle.

c'est comme quand tu écris sub et end sub.
Messages postés
300
Date d'inscription
vendredi 15 mars 2013
Statut
Membre
Dernière intervention
31 juillet 2018
16
Ok merci pour l'info !
Bonjour, cette macro est elle valable pour excel 2007? car pour moi elle ne fonctionne pas