Macro masquer ligne en fonction des quantités

  • Initiateur de la discussion Initiateur de la discussion alolaterre
  • Date de début Date de début

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 !

alolaterre

XLDnaute Nouveau
Bonjour,
débutant en macro je cherche à masquer les lignes qui ne servent à rien dans un devis que je propose à mes clients.
Je souhaite juste attribuer à 2 boutons (afficher et masquer) une macro qui permet d'un simple clic de masquer les lignes pour lesquels la quantité est 0. Et un autre pour rafficher le tout.

J'ai cherché plusieurs macro, mais je n'arrive pas à l'adapter à mon cas.

J'ai trouvé celle ci, qui semble correspondre le plus à mon fichier mais je n'arrive pas à l'apliquer:

Sub Masquer()
Application.ScreenUpdating = False
With ActiveSheet
For Each cel In .Range("A10:A65536").SpecialCells(xlCellTypeConstants)
If cel.Offset(0, 5).Value = 0 Or cel.Value = "" Then
cel.EntireRow.Hidden = True
Else
cel.EntireRow.Hidden = False
End If
Next
End With
Application.ScreenUpdating = True
End Sub

Sub Afficher()
Application.ScreenUpdating = False
With ActiveSheet
For Each cel In .Range("A:A").SpecialCells(xlCellTypeConstants)
cel.EntireRow.Hidden = False
Next
End With
Application.ScreenUpdating = True
End Sub



Pour moi, les quantités se trouve dans la colonne B

Merci par avance
 

Pièces jointes

Re : Macro masquer ligne en fonction des quantités

Salut
Tu copies colles les deux macros afficher et masquer..
et dans la macro "Masquer" tu remplaces
If cel.Offset(0, 5).Value = 0 Or cel.Value = "" Then
par
If cel.Offset(0, 1).Value = 0 Or cel.Value = "" Then
 
Re : Macro masquer ligne en fonction des quantités

bah si. ca marche...
faut quand meme penser à regarder le code et supprimer l'espace que le compilateur n'aime pas dans la ligne
For Each cel In .Range("A10:A65536").SpecialCells(xlCellTypeConsta nts)
 

Pièces jointes

Re : Macro masquer ligne en fonction des quantités

Salut alolaterre, vgendron, le Forum

Peut-être comme cela

Code:
Option Explicit
Dim Cel As Range
Sub Masquer()
Application.ScreenUpdating = False
    With ActiveSheet
        For Each Cel In .Range("B10:B65536").SpecialCells(xlCellTypeConstants)
            If Cel.Value = 0 Or Cel.Value = "" Then Cel.EntireRow.Hidden = True Else Cel.EntireRow.Hidden = False
        Next Cel
    End With
Application.ScreenUpdating = True
End Sub

Sub Afficher()
Application.ScreenUpdating = False
    With ActiveSheet
        For Each Cel In .Range("B:B").SpecialCells(xlCellTypeConstants)
            Cel.EntireRow.Hidden = False
        Next Cel
    End With
Application.ScreenUpdating = True
End Sub

Bonne Journée
 

Pièces jointes

- 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
7
Affichages
278
Réponses
5
Affichages
566
Réponses
4
Affichages
436
Réponses
7
Affichages
239
Retour