Masquer une ligne en fonction d'une cellule
Résolu
Villette54
Messages postés
300
Date d'inscription
Statut
Membre
Dernière intervention
-
bruillois -
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
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
A voir également:
- Masquer une ligne en fonction d'une cellule
- Fonction si et - Guide
- Partager photos en ligne - Guide
- Aller à la ligne dans une cellule excel - Guide
- Mètre en ligne - Guide
- Masquer une conversation whatsapp - Guide
1 réponse
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
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
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.
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.