masquer ligne si celulle en h est vide

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

pitchoune85

XLDnaute Junior
bonjour
je veux masque des lignes selon des conditions variable
par exemple masquer la ligne 12 si s12 est = 0 (car il y a des formules )
la macro s'éxécute par un bouton masquer puis afficher tout
un autre bouton masque la ligne si cette fois ci s'est la colonne o qui est égale à zéro

j ai la macro suivante :
Sub Afficher_MO()
Application.ScreenUpdating = False
For i = [A65536].End(xlUp).Row To 6 Step -1
If Cells(i, 19) = 0 Then Rows(i).EntireRow.Hidden = True
Next i
Application.ScreenUpdating = True
End Sub

que j ai trouvé sur la forum
par contre elle est très longue a éxécuter
je débute en macro et commence à les comprendre mais pas toujours
ne sais pas ce que veux dire row to 6 step -1 : a quoi correspond le 6?
mon tableau fait toujours a1:s500
peut on sélectionner uniquemment ce tableau pour aller plus vite

merci pour vos explications
amicalement
 
Re : masquer ligne si celulle en h est vide

Bonsoir


Tu peux aussi utiliser le filtre automatique (en VBA ou pas)

Exemple ci-dessus
Code:
Sub Macro1()
' Macro enregistrée le 13/08/2012 par Staple1600
Range("H1:H500").AutoFilter Field:=1, Criteria1:=">0", Operator:=xlAnd
End Sub

Et c'est très rapide.
 
Dernière édition:
Re : masquer ligne si celulle en h est vide

Bonjour pitchoune85, Staple,

Le filtre automatique n'est pas fiable si la colonne à trier contient des nombres et des textes.

Alors avec le filtre avancé (élaboré) :

Code:
Sub Masque()
[IV2] = "=H2<>""""" 'variante "=NOT(ISBLANK(H2))"
Range("H1", [H65536].End(xlUp)).AdvancedFilter xlFilterInPlace, [IV1:IV2]
[IV2] = ""
End Sub

Sub AfficheTout()
On Error Resume Next
ActiveSheet.ShowAllData
End Sub
A+
 
Re : masquer ligne si celulle en h est vide

Bonjour job75

Ce que contient la colonne à filtrer , on l'aurait su si on avait eu un fichier exemple sous la main 😉

En relisant la question, le demandeur parle de =0 mais pas de cellules vides au vrai sens du terme, non ?

PS: Si cette affirmation est toujours vraie
mon tableau fait toujours a1:s500
Pas besoin xlUp, 😉.
 
Dernière édition:
Re : masquer ligne si celulle en h est vide

bonjour
merci pour vos réponses
ci joint un extrait du fichier
comme j ai enlever des données, il va assez vite à exécuter mais dans mon tableau avec plus de 300 lignes, c'est plus long.
pouvez vous me redire à quoi correspond "Row To 6 Step -1"
merci

pour info, comment on change la police dans les commentaires (pour rendre les codes plus lisible)
 

Pièces jointes

Re : masquer ligne si celulle en h est vide

staple,
le tableau fait effectivement toujours "A1:S500"
dans les colonnes sur où se trouve les conditions que je souhaite vérifier pour afficher ou masquer, c'est des formules donc il faut effectivement prendre ne compte "0" et non pas "".
 
Re : masquer ligne si celulle en h est vide

Re,

Appliqués à la plage S1:S500, filtre automatique et filtre avancé fonctionnent très bien l'un et l'autre.

A+
 

Pièces jointes

Re : masquer ligne si celulle en h est vide

Re

pitchoune85
Essayer les codes, c'est bien, les comprendre c'est mieux 😉
Tu as remarqué que la macro filtrait sur la colonne H avec comme critère : >0

Je viens de tester manuellement le filtre automatique sur ta dernière PJ
et cela fonctionne parfaitement!
Donc le code VBA fonctionnera aussi 🙄
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
10
Affichages
533
Réponses
5
Affichages
708
Réponses
8
Affichages
651
Réponses
4
Affichages
581
Réponses
3
Affichages
493
  • Question Question
Microsoft 365 Export données
Réponses
4
Affichages
807
Retour