Macro avec double fonction

  • Initiateur de la discussion Initiateur de la discussion alain18
  • 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 !

alain18

XLDnaute Occasionnel
Bonsoir,
J'aimerai savoir s'il est possible qu'une macro permette d'effectuer 2 actions différentes avec le même bouton de commande.
Je m'explique, en cliquant une 1ère fois sur le bouton de commande d'une macro celle-ci masque des lignes du tableur (jusque là rien de compliqué), mais à l'inverse en cliquant une 2ème fois sur le même bouton de commande de cette macro que celle-ci affiche les lignes qui avait été masquées précédemment.
Si un spécialiste a une idée....
Merci.
 
Bonsoir
Oui c'est possible
VB:
Sub VisibleMasque()
'
' VisibleMasque Macro
'
    If Range(Cells(3, 1), Cells(3, 1)).EntireRow.Hidden = False Then
        Range("3:3,7:7,11:11,15:15,19:19,23:23,27:27").Select
        Selection.EntireRow.Hidden = True
    Else
        Rows("3:27").Select
        Selection.EntireRow.Hidden = False
    End If
End Sub
 

Pièces jointes

Dernière édition:
Bonsoir Laurent950 , job75
Merci de me confirmer que cela est possible, mais je ne vois pas comment lier les 2 macros sur le même bouton.
Je mets un exemple en copie qui ferme seulement mais pour la suite, je ne sais pas faire.
Merci
VB:
Sub VisibleMasque()
'
' VisibleMasque Macro
'
    If Range(Cells(5, 1), Cells(5, 1)).EntireRow.Hidden = False Then
        'Sub fermer()
        'Range("3:3,7:7,11:11,15:15,19:19,23:23,27:27").Select
        Rows("5:11").Select
        Selection.EntireRow.Hidden = True
        'Range("B12").Select
    Else
        ' Sub ouvrir()
        'Rows("3:27").Select
        Rows("4:12").Select
        Selection.EntireRow.Hidden = False
        'Range("B5").Select
    End If
End Sub
 
les lignes 5:11 (Rows("5:11").Hidden) prennent l'état inverse de la ligne 5 ( = Not Rows(5).Hidden).
Si elle est visible, elles se masquent, et inversement.

C'est l'équivalent de la proposition de job75, sauf que lui modifie le libellé du bouton en plus.
eric
 
- 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
2
Affichages
555
Retour