Macro pour masquer des lignes [Résolu/Fermé]

Signaler
Messages postés
51
Date d'inscription
mardi 27 novembre 2012
Statut
Membre
Dernière intervention
1 mai 2020
-
Messages postés
51
Date d'inscription
mardi 27 novembre 2012
Statut
Membre
Dernière intervention
1 mai 2020
-
Bonjour,

j'ai besoin d'un petit coup de main pour une macro :
J'ai un bordereau de plusieurs centaines de lignes d'articles en plusieurs paragraphes, le tout sur une même feuille.
dans une colonne, j'indique ici et là des quantités suivant mes besoins
Je souhaiterais une macro qui repérerait toutes les lignes dont la cellule "quantité" est à zéro (ou vide) et les masquerait.
(J'attribuerais ensuite cette macro à un pavé à cliquer)
Merci d'avance pour vos réponses


3 réponses

Messages postés
9494
Date d'inscription
lundi 18 octobre 2010
Statut
Membre
Dernière intervention
5 juillet 2020
1 851
bonjour

un exemple de code

Const coqte = "C"    ' colonne quantité
Const lideb = 2 

Private Sub btMasquer_Click() 
Dim li As Long, lifin As Long, q 
lifin = Range(coqte & Rows.Count).End(xlUp).Row 
For li = lideb To lifin 
  q = Range(coqte & li).Value 
  If q = 0 Then Rows(li).Hidden = True 
Next li 
End Sub

bonne suite
Messages postés
51
Date d'inscription
mardi 27 novembre 2012
Statut
Membre
Dernière intervention
1 mai 2020
5
Bonjour et merci
je vais tester
bonne journée
Messages postés
51
Date d'inscription
mardi 27 novembre 2012
Statut
Membre
Dernière intervention
1 mai 2020
5
Bonjour
J'ai essayé d'appliquer, mais faute d'explication, je n'arrive à rien.
Messages postés
23377
Date d'inscription
mardi 11 septembre 2007
Statut
Contributeur
Dernière intervention
5 juillet 2020
6 221
Bonjour,

sans doute qu'avec un fichier exemple les propositions seraient plus adaptées.
Déposer le fichier xls (réduit au nécessaire et anonymisé) sur cjoint.com et coller ici le lien fourni.

eric
Messages postés
23377
Date d'inscription
mardi 11 septembre 2007
Statut
Contributeur
Dernière intervention
5 juillet 2020
6 221
Bonjour,

ce n'est pas plus simple de mettre un filtre automatique sur l'en-tête des colonnes puis de filtrer sur (non vides) ?

eric
Messages postés
51
Date d'inscription
mardi 27 novembre 2012
Statut
Membre
Dernière intervention
1 mai 2020
5
Bonjour
Comme je l'indique, mon bordereau comprend plusieurs paragraphes avec des en-tetes différentes, donc le filtre, ça va être compliqué...
merci bonne journée
Messages postés
51
Date d'inscription
mardi 27 novembre 2012
Statut
Membre
Dernière intervention
1 mai 2020
5
Bonjour
A force de tâtonnement et en adaptant, j'ai une macro qui tourne

Sub MasquerLignes()
Dim plage As Range, c As Range
Set plage = Union([N11:N21], [N25:N30], [N34:N47], [N51:N53], [N57:N63])
For Each c In plage
If c.Value = 0 Then
c.EntireRow.Hidden = True
Else
c.EntireRow.Hidden = False
End If
Next c

End Sub