VBA : position auto "bouton bascule" sur activation feuille....

Anonyme
2022-09-14T16:12:00+00:00

Bonjour à tous,

J'ai créé dans une feuille "PLANNING_V" un bouton nommé "BoutonMenu" associé à la macro ci-dessous. En cliquant sur le bouton, le texte prend alternativement la valeur "AUTO" ou "MANU". Je souhaiterais qu'à l'activation de la feuille "PLANNING_V" le bouton prenne par défaut la valeur "AUTO" et [A1] la valeur "Activé". S'il est déjà en Auto, rien ne se passe, s'il est en Manu, il bascule en auto

Je ne parviens pas à le faire avec les évènements sur la feuille... Quelqu'un pourrait-il me donner un coup de main ?

Merci ;o)))

Domi

J'ai mis un fichier "TEST_BOUTON" sur cijoint.com pour faire des tests au cas où....

https://www.cjoint.com/c/LIoqfhWEFt1

Sub AUTO_MANU()

    Application.ScreenUpdating = False

    If Etat = 0 Then

        With Sheets("PLANNING_V").DrawingObjects("BoutonMenu")

            .Characters.Text = "AUTO": Etat = 1

            .Font.Color = RGB(0, 126, 57)

            [A1] = "Activé"

        End With

    Application.EnableEvents = True

    Else

        With Sheets("PLANNING_V").DrawingObjects("BoutonMenu")

            .Characters.Text = "MANU": Etat = 0

            .Font.Color = RGB(255, 0, 0)

            [A1] = "Désactivé"

        End With

        Application.EnableEvents = False

    End If

End Sub

Microsoft 365 et Office | Excel | Pour les entreprises | Windows

Question verrouillée. Cette question a été migrée à partir de la Communauté Support Microsoft. Vous pouvez voter pour indiquer si elle est utile, mais vous ne pouvez pas ajouter de commentaires ou de réponses ni suivre la question.

0 commentaires Aucun commentaire

Réponse acceptée par l’auteur de la question

DanielCo 107.7K Points de réputation
2022-09-14T17:26:42+00:00

Bonjour,

remplace :

Dim Etat As Integer

par :

Public Etat As Integer

Remplace la macro :

Sub AUTO_MANU()

Application.ScreenUpdating = False  
If Etat = 0 Then  
    With Sheets("PLANNING\_V").DrawingObjects("BoutonMenu")  
        .Characters.Text = "AUTO": Etat = 1  
        .Font.Color = RGB(0, 126, 57)  
        [A1] = "Activé"  
    End With  
Application.EnableEvents = True  
Else  
    With Sheets("PLANNING\_V").DrawingObjects("BoutonMenu")  
        .Characters.Text = "MANU": Etat = 0  
        .Font.Color = RGB(255, 0, 0)  
        [A1] = "Désactivé"  
    End With  
    Application.EnableEvents = True  
End If  

End Sub

La macro activate :

Private Sub Worksheet_Activate()
Etat = 0
AUTO_MANU
End Sub

Daniel

Cette réponse a-t-elle été utile ?

1 personne a trouvé cette réponse utile.
0 commentaires Aucun commentaire

1 réponse supplémentaire

  1. Anonyme
    2022-09-14T18:01:05+00:00

    Absolument parfait !

    Un grand merçi Daniel ;o)

    Cette réponse a-t-elle été utile ?

    0 commentaires Aucun commentaire