Masquer une ligne en fonction d'une cellule

Résolu/Fermé
Villette54 Messages postés 300 Date d'inscription vendredi 15 mars 2013 Statut Membre Dernière intervention 31 juillet 2018 - Modifié par Villette54 le 22/07/2013 à 10:42
 bruillois - 14 juin 2014 à 09:14
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

melanie1324 Messages postés 1505 Date d'inscription vendredi 25 mai 2007 Statut Membre Dernière intervention 31 janvier 2018 153
Modifié par melanie1324 le 22/07/2013 à 11:35
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
0
Villette54 Messages postés 300 Date d'inscription vendredi 15 mars 2013 Statut Membre Dernière intervention 31 juillet 2018 28
22 juil. 2013 à 13:48
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.
0
melanie1324 Messages postés 1505 Date d'inscription vendredi 25 mai 2007 Statut Membre Dernière intervention 31 janvier 2018 153
22 juil. 2013 à 14:11
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.
0
Villette54 Messages postés 300 Date d'inscription vendredi 15 mars 2013 Statut Membre Dernière intervention 31 juillet 2018 28
22 juil. 2013 à 15:35
Ok merci pour l'info !
0
Bonjour, cette macro est elle valable pour excel 2007? car pour moi elle ne fonctionne pas
0