Masquer une ligne sous condition
Résolu/Fermé
chrichnou051
Messages postés
152
Date d'inscription
samedi 27 janvier 2007
Statut
Membre
Dernière intervention
30 décembre 2010
-
8 oct. 2008 à 12:07
Boswellias Messages postés 8 Date d'inscription jeudi 10 décembre 2015 Statut Membre Dernière intervention 26 septembre 2019 - 24 sept. 2019 à 11:35
Boswellias Messages postés 8 Date d'inscription jeudi 10 décembre 2015 Statut Membre Dernière intervention 26 septembre 2019 - 24 sept. 2019 à 11:35
A voir également:
- Masquer une ligne excel sous condition sans macro
- Google sheet masquer ligne sous condition - Meilleures réponses
- Masquer des lignes excel sous condition vba - Meilleures réponses
- Excel cellule couleur si condition texte - Guide
- Aller à la ligne excel - Guide
- Telecharger macro convertir chiffre en lettre excel - Télécharger - Tableur
- Liste déroulante excel - Guide
- Déplacer une colonne excel - Guide
9 réponses
eriiic
Messages postés
24603
Date d'inscription
mardi 11 septembre 2007
Statut
Contributeur
Dernière intervention
15 décembre 2024
7 247
8 oct. 2008 à 21:33
8 oct. 2008 à 21:33
Bonsoir,
Faisable uniquement par macro.
Je suppose que c'est par fonction que tes cellules Bx se remplissent ou se vident, et que ce n'est pas par une saisie sur la même ligne qu'elles doivent réapparaitre (sinon tu auras du mal...).
Si c'est le cas tu fais un clic-droit sur le nom de l'onglet concerné, tu choisis 'visualiser le code'
et tu colles le code suivant dans la fenetre de droite.
A chaque saisie dans la feuille les cellules seront explorées et les lignes affichées/masquées
eric
Faisable uniquement par macro.
Je suppose que c'est par fonction que tes cellules Bx se remplissent ou se vident, et que ce n'est pas par une saisie sur la même ligne qu'elles doivent réapparaitre (sinon tu auras du mal...).
Si c'est le cas tu fais un clic-droit sur le nom de l'onglet concerné, tu choisis 'visualiser le code'
et tu colles le code suivant dans la fenetre de droite.
Private Sub Worksheet_Change(ByVal Target As Range) Dim plage As Range, c As Range Set plage = Union([B10:B30], [B32:B57]) For Each c In plage If c.Value = "" Then c.EntireRow.Hidden = True Else c.EntireRow.Hidden = False End If Next c plage = Nothing End Sub
A chaque saisie dans la feuille les cellules seront explorées et les lignes affichées/masquées
eric
1 août 2012 à 22:48
Néophyte en programmation, je suis tombé sur votre page de code ci-dessus. Elle correspond parfaitement à mes attentes et fonctionne très bien.
Seul souci, il faut entrer physiquement un caractère ou changer une cellule dans la feuille concernée, pour qu'elle détecte un changement et procède à l'affichage / masquer de la dite feuille.
Cependant, toute ma saisie s'effectue sur une autre feuille. La feuille contenant le code n'a pas vocation à être modifiée.
Aussi, est-il possible de changer ce code pour qu'il détecte le changement de valeur de la cellule par le calcul dans la feuille ?
Merci par avance.
2 août 2012 à 00:45
Cependant, toute ma saisie s'effectue sur une autre feuille. La feuille contenant le code n'a pas vocation à être modifiée.
Et si tu mettais le code dans la feuille concernée ?
Aussi, est-il possible de changer ce code pour qu'il détecte le changement de valeur de la cellule par le calcul dans la feuille ?
Cette macro régit sur une saisie dans une cellule. En vba on ne peut pas détecter un changement du résultat d'une formule.
Voir post #9 dans ce cas
eric
2 août 2012 à 01:00
Utilise l'événement Calculate.
Mytå
24 sept. 2019 à 11:35
en fait j'ai presque le même travail que "CHRICHNOU051), je copie je colle comme indiqué mais .... rien se passe
au fait j'ai une feuille de calcul qui se "remplie" automatiquement d'après des données importées d'une autre feuille , alors j'aimerais que lorsqu'une ligne ne comporte aucune donnée elle sera automatiquement masquée ainsi il n'a y aura pas de vide dans la feuille