Macro pour masquer des lignes

Résolu
crooner76 Messages postés 345 Date d'inscription   Statut Membre Dernière intervention   -  
crooner76 Messages postés 345 Date d'inscription   Statut Membre Dernière intervention   -
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


A voir également:

3 réponses

ccm81 Messages postés 10909 Date d'inscription   Statut Membre Dernière intervention   2 433
 
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
0
crooner76 Messages postés 345 Date d'inscription   Statut Membre Dernière intervention   52
 
Bonjour et merci
je vais tester
bonne journée
0
crooner76 Messages postés 345 Date d'inscription   Statut Membre Dernière intervention   52
 
Bonjour
J'ai essayé d'appliquer, mais faute d'explication, je n'arrive à rien.
0
eriiic Messages postés 24603 Date d'inscription   Statut Contributeur Dernière intervention   7 276
 
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
0
eriiic Messages postés 24603 Date d'inscription   Statut Contributeur Dernière intervention   7 276
 
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
0
crooner76 Messages postés 345 Date d'inscription   Statut Membre Dernière intervention   52
 
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
0
crooner76 Messages postés 345 Date d'inscription   Statut Membre Dernière intervention   52
 
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
0