Masquer, démasquer

Bonjour,

Je cherche deux codes macro qui pourrait me remplir les fonctions masquer/démasquer en un seul bouton commande

Dans plusieurs feuilles, colonne G, cellules G3:G192, j'ai un ensemble de chiffres comptables. Mais, j'ai des cellules vides ou des cellules avec un résultat à 0.

Je cherche une 1ère macro qui pourrait masquer démasquer les lignes si la cellule est à zéro 0 ou vide dans la colonne G, cellules G3:G192

Ensuite dans une autre feuille, je rapatrie les données pour faire le bilan. Je cherche une 2ème macro qui fasse le même travail de masquer démasquer en sachant que la cellule peut être vide ou à zéro, mais qu'il y a une formule dans chaque cellule de la colonne G, cellules G3:G192 (donc cellule pleine)

D'avance, je vous remercie pour votre soutien, bonne journée, bien cordialement, Chti59xcel

Hello,

Voici une approche (non testé, j'ai une macro qui tourne et m'empêche d'ouvrir d'autres classeur excel)

Code N°1 :

' Auteur : https://www.linkedin.com/in/spilerstheo/
Sub Toggle_Hide_Unhide_Rows_1()
    Dim ws As Worksheet
    Dim cell As Range
    For Each ws In ThisWorkbook.Sheets
        ws.Select
        For Each cell In ws.Range("G3:G192")
            If cell.Value = 0 Or cell.Value = "" Then
                cell.EntireRow.Hidden = Not cell.EntireRow.Hidden
            End If
        Next cell
    Next ws
End Sub

Code N°2 :

' Auteur : https://www.linkedin.com/in/spilerstheo/
Sub Toggle_Hide_Unhide_Rows_2()
    Dim ws As Worksheet
    Dim cell As Range
    Set ws = ThisWorkbook.Sheets("VotreNomDeFeuille")
    For Each cell In ws.Range("G3:G192")
        If cell.Value = 0 Or cell.Value = "" Then
            cell.EntireRow.Hidden = Not cell.EntireRow.Hidden
        End If
    Next cell
End Sub

Si non tu pourrais peut être utiliser les groupages ? L'approche serait peut être plus jolie

P.S : Tu peux enlever les truck d'auteurs, C'est une ligne mise automatiquement quand je créer une macro

Bonne journée,

Cordialement,
Parrish

Re bonjour,

Merci pour cet envoi de codes

Le deuxième code fonctionne impeccable, car on vient préciser le Nom de la feuille.

Par contre, pour le 1er code, ça bug, car j'ai oublié de préciser qu'il n'y a que 12 feuilles de concernées qui correspondent au 12 Mois de l'année.

Nom de chaque feuille : Janvier_2023, Février 2023, etc.....

Cordialement, Chti59xcel

Autre précision importante je crois.

Je voudrai pouvoir utiliser le bouton commande de façon indépendante dans chaque feuille.

C'est à dire, lorsque j'active le bouton, il ne modifie le masquage ou démasquage que de la feuille dans laquelle je me trouve sans affecter les autres Mois... un peu comme la feuille bilan

Un grand merci, Chti59xcel

Bonjour à vous deux, le forum,

Si vos 12 feuilles ont un emplacement "fixe" dans le classeur et qu'elles se suivent alors vous pouvez faire une boucle sur leur index :
si janvier est la troisième feuille de votre classeur et février la 4ième etc... alors vous pouvez faire une boucle :

For i = 3 to 14
    For Each cell In sheets(i).Range("G3:G192")
        If cell.Value = 0 Or cell.Value = "" Then
            cell.EntireRow.Hidden = Not cell.EntireRow.Hidden
        End If
    Next cell
Next i

@ bientôt

LouReeD

Bonjour,

alors un ActiveSheet serait le bienvenu... et plus besoin de boucle sur les feuilles...

@ bientôt

LouReeD

Bonjour,

Merci pour l'envoi, mais, je ne sais pas insérer les lignes de commande au bon endroit.

Est-il possible d'avoir le code en entier s'il vous plait ?

D'avance, merci, cordialement, Chti59xcel

Si je ne me trompe pas, la fusion du 1er donne :

' Auteur : https://www.linkedin.com/in/spilerstheo/
Sub Toggle_Hide_Unhide_Rows_1()
            Dim ws As Worksheet
            Dim cell As Range
            For Each ws In ThisWorkbook.Sheets
                ws.Select
                For i = 3 to 14
            For Each cell In sheets(i).Range("G3:G192")
                If cell.Value = 0 Or cell.Value = "" Then
                    cell.EntireRow.Hidden = Not cell.EntireRow.Hidden
                End If
            Next cell
        Next i
    Next ws
End Sub

Je comprends pas, je viens de tester la macro et il ne se passe rien ?

Ma Feuille s'appelle Janvier_2023, elle placée en 2ème position dans les onglets ?

Bonsoir,

Sub Toggle_Hide_Unhide_Rows_1()
            Dim ws As Worksheet
            Dim cell As Range
            For i = 2 to 13
                For Each cell In sheets(i).Range("G3:G192")
                    If cell.Value = 0 Or cell.Value = "" Then
                        cell.EntireRow.Hidden = Not cell.EntireRow.Hidden
                    End If
                Next cell
            Next i
End Sub

@ bientôt

LouReeD

Bonsoir Mgexcel59,

Merci de bien vouloir éviter de dupliquer les fils et de rester sur votre fil d'origine plutpôt que de créer un nouveau. Là vous avez des réponses partout !

https://forum.excel-pratique.com/excel/masquer-demasquer-suite-188364

Merci de cloturer celui qui est terminé

Crdlt

Rechercher des sujets similaires à "masquer demasquer"