MACRO Bouton Afficher/masquer

Bonjour je souhaiterai adapter cette macro permettant d'avoir 2 actions avec un seul bouton (masquer et afficher des colonnes)

Sub cmdCacherAfficher_Click()

End Sub

Le problème est que je n'arrive pas à l'adapter à ma macro existante qui me permet actuellement juste de masquer les lignes souhaitées. Voici alors mon code actuel, que je souhaiterai intégrer à la macro précédente :

Sub CPT_Afficher_résultats()

End Sub

Merci pour votre aide

Salut dm83,

j'ai pas dû tout piger, je crois!

Private Sub cmdCache_Click()
'
If Me.cmdCache.Caption = "Cacher" Then
    Me.cmdCache.Caption = "Afficher"
    With Range("I1:O1").EntireColumn
        .Hidden = Not .Hidden
    End With
Else
    Me.cmdCache.Caption = "Cacher"
    With Range("I1:O1").EntireColumn
        .Hidden = Not .Hidden
    End With
End If
'
End Sub

Ça cache, ça affiche avec le même bouton, en tout cas!

A+

Bonjour,

Ce n'est pas "flase" mais "False". A mettre dans le module de la feuille où se trouve le bouton ActiveX :

Private Sub CommandButton1_Click()

    Dim i As Integer

    With Worksheets("suivi_CPT")

        CommandButton1.Caption = Choose(CInt(.Rows(11).Hidden) + 2, "Masquer", "Afficher")

        For i = 11 To 479 Step 78

            .Rows(i).Resize(6, 1).Hidden = Not .Rows(i).Resize(6, 1).Hidden
            .Rows(i + 68).Hidden = Not .Rows(i + 68).Hidden

        Next i

    End With

End Sub

Bonjour,

Une autre proposition pour une autre interprétation ...

A+

277dm83.zip (16.17 Ko)

bonjour,

merci pour vos réponses.

Je ne parviens pas à ouvrir vos fichiers avec excel : J'obitiens le message suivant :

"Une partie du contenu de ce classeur n'est pas pris en charge par cette version d'excel"

Peut-être est-ce parce que je suis sous MAC ? (et je crois que ActiveX ne marche pas sur Mac)

Auriez-vous une autre adaptation qui fonctionnerait sur mon mac ?

Tu peux toujours tester la macro et lui associer un bouton de commande de formulaire au besoin

Sub Test()
Dim s As String
Dim i As Integer
    With Worksheets("suivi_CPT")
        With .Range("I1:O1").EntireColumn
            .Hidden = Not .Hidden
            If .Hidden Then
                Rows("6:542").Hidden = True
                For i = 11 To 479 Step 78
                    .Rows(i).Resize(6, 1).Hidden = False
                    .Rows(i + 68).Resize(1, 1).Hidden = False
                Next i
                cmdCacherAfficher.Caption = "Afficher"
            Else
                Rows("6:542").Hidden = False
                cmdCacherAfficher.Caption = "Cacher"
            End If
        End With
    End With
End Sub

A+

Merci Frangy, cela fonctionne maintenant.

Néanmoins; j'ai un message box qui apparait disant : "Objet requis ". Comment est-ce possible d'enlever l'apparition de ce message ?

Rechercher des sujets similaires à "macro bouton afficher masquer"