IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Macros et VBA Excel Discussion :

toggleButton (du ruban) et VBA [XL-2019]


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé Avatar de DenisHen
    Homme Profil pro
    Dessinateur / projeteur
    Inscrit en
    Novembre 2013
    Messages
    415
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Yonne (Bourgogne)

    Informations professionnelles :
    Activité : Dessinateur / projeteur
    Secteur : Bâtiment Travaux Publics

    Informations forums :
    Inscription : Novembre 2013
    Messages : 415
    Par défaut toggleButton (du ruban) et VBA
    Bonjour à la communauté.
    Te tente désespérément depuis trois jour (à coups de tuto et de PDF) à interagir antre deux "toggleButton" de mon ruban.
    J'aimerais que, lorsqu'un est "activé", l'autre soit "désactivé".
    J'ai donc, écris ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    Sub TBAlphaCmd(control As IRibbonControl, pressed As Boolean)
    If pressed = True Then
                TBNumeric = Not pressed
    End If
    'Application.ScreenUpdating = True
    End Sub
    Et
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    Sub TBNumericCmd(control As IRibbonControl, pressed As Boolean)
    If pressed = True Then
               TBAlpha = Not pressed
    End If
    'Application.ScreenUpdating = True
    End Sub
    Et dans Custom UI Editor for Microsoft Office, j'ai :
    Code XML : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    					<toggleButton id="TBAlpha" 
    						size="large"
    						image="TriLettre"
    						getPressed="Ribbon_GetPressed"	 
    						label="Alphabétique" 
    						onAction="TBAlpha" />
    					<toggleButton id="TBNumeric" 
    						size="large"
    						image="TriNombre"
    						getPressed="Ribbon_GetPressed" 
    						label="Numérique" 
    						onAction="TBNumeric" />
    Les images ne posent pas de problème, mais lorsque je "pousse" un Toggle ("TBAlpha"), il se pousse, mais si je pousse l'autre ("TBNumeric"), il se "pousse" sans "dépousser" l'autre...
    Quelqu'un aurait une astuce, un conseil, une idée... Car je suis preneur...
    Bien à toi, la communauté...
    Denis...

  2. #2
    Rédacteur
    Avatar de Philippe Tulliez
    Homme Profil pro
    Formateur, développeur et consultant Excel, Access, Word et VBA
    Inscrit en
    Janvier 2010
    Messages
    13 170
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur, développeur et consultant Excel, Access, Word et VBA

    Informations forums :
    Inscription : Janvier 2010
    Messages : 13 170
    Billets dans le blog
    53
    Par défaut
    Bonjour,
    Je n'ai jamais utiliser de ToggleButon avec le ruban mais cet exemple avec deux ToggleButton ActiveX présents sur une feuille vous inspirera peut-être

    Code placé dans le module de la feuille où se trouve les deux ActiveX
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    Private Sub ToggleButton1_Click()
      Toggle Me.ToggleButton1, Me.ToggleButton2
    End Sub
     
    Private Sub ToggleButton2_Click()
      Toggle Me.ToggleButton2, Me.ToggleButton1
    End Sub
     
    Sub Toggle(oTgl_A As ToggleButton, oTgl_B As ToggleButton)
      oTgl_B.Enabled = Not oTgl_A.Value
    End Sub
    Philippe Tulliez
    Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément. (Nicolas Boileau)
    Lorsque vous avez la réponse à votre question, n'oubliez pas de cliquer sur et si celle-ci est pertinente pensez à voter
    Mes tutoriels : Utilisation de l'assistant « Insertion de fonction », Les filtres avancés ou élaborés dans Excel
    Mon dernier billet : Utilisation de la fonction Dir en VBA pour vérifier l'existence d'un fichier

  3. #3
    Membre éclairé Avatar de DenisHen
    Homme Profil pro
    Dessinateur / projeteur
    Inscrit en
    Novembre 2013
    Messages
    415
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Yonne (Bourgogne)

    Informations professionnelles :
    Activité : Dessinateur / projeteur
    Secteur : Bâtiment Travaux Publics

    Informations forums :
    Inscription : Novembre 2013
    Messages : 415
    Par défaut
    Bonjour Maître Philippe (je dis Maître car j'ai résolu plusieurs de mes problèmes grâce à vos postes)
    Je regarde ça et tiens au courant la communauté
    Encore merci pour votre aide...
    Denis...

  4. #4
    Membre éclairé Avatar de DenisHen
    Homme Profil pro
    Dessinateur / projeteur
    Inscrit en
    Novembre 2013
    Messages
    415
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Yonne (Bourgogne)

    Informations professionnelles :
    Activité : Dessinateur / projeteur
    Secteur : Bâtiment Travaux Publics

    Informations forums :
    Inscription : Novembre 2013
    Messages : 415
    Par défaut
    Ben en fait, je n'ai pas tout compris...
    J'ai donc traduit votre code comme ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    Option Explicit
    Private TBAlpha As Boolean
    Private TBNumeric As Boolean
    Private Sub TBAlphaCmd_Click()
      Toggle Me.TBAlpha, Me.TBNumeric
    End Sub
     
    Private Sub TBNumericCmd_Click()
      Toggle Me.TBNumeric, Me.TBAlpha
    End Sub
     
    Sub Toggle(oTgl_A As ToggleButton, oTgl_B As ToggleButton)
      TBAlpha.Enabled = Not TBNumeric.Value
    End Sub
    Je ne suis pas certain de mon explication.
    J'aimerais, lorsque j'en active un des deux, l'autre s'inactive...

  5. #5
    Rédacteur
    Avatar de Philippe Tulliez
    Homme Profil pro
    Formateur, développeur et consultant Excel, Access, Word et VBA
    Inscrit en
    Janvier 2010
    Messages
    13 170
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur, développeur et consultant Excel, Access, Word et VBA

    Informations forums :
    Inscription : Janvier 2010
    Messages : 13 170
    Billets dans le blog
    53
    Par défaut
    Bonjour,
    J'aimerais, lorsque j'en active un des deux, l'autre s'inactive...
    C'est exactement ce que fait le code publié

    Illustration : Après avoir cliqué sur celui de gauche, celui de droite est inactif. Il suffit de cliquer à nouveau sur celui qui est actif pour libérer l'autre.
    Nom : 2021-10-26 ActiveX - ToggleButton.png
Affichages : 144
Taille : 6,1 Ko


    [EDIT]
    Remplacé le fichier qui boguait
    Fichiers attachés Fichiers attachés
    Philippe Tulliez
    Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément. (Nicolas Boileau)
    Lorsque vous avez la réponse à votre question, n'oubliez pas de cliquer sur et si celle-ci est pertinente pensez à voter
    Mes tutoriels : Utilisation de l'assistant « Insertion de fonction », Les filtres avancés ou élaborés dans Excel
    Mon dernier billet : Utilisation de la fonction Dir en VBA pour vérifier l'existence d'un fichier

  6. #6
    Membre éclairé Avatar de DenisHen
    Homme Profil pro
    Dessinateur / projeteur
    Inscrit en
    Novembre 2013
    Messages
    415
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Yonne (Bourgogne)

    Informations professionnelles :
    Activité : Dessinateur / projeteur
    Secteur : Bâtiment Travaux Publics

    Informations forums :
    Inscription : Novembre 2013
    Messages : 415
    Par défaut
    Mille mercis Philippe pour ta réponse, mais ton fichier Excel ne fonctionne pas chez moi, et j'aimerais que les "Toggle" soit dans un ruban...

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [VBA] ToggleButton événement click
    Par JOHN14 dans le forum Excel
    Réponses: 3
    Dernier message: 25/06/2007, 20h47
  2. [VBA-E] togglebutton et userform hide
    Par lio62 dans le forum Macros et VBA Excel
    Réponses: 10
    Dernier message: 27/03/2007, 17h30
  3. [VBA-E]Problème avec des ToggleButton
    Par dilkas dans le forum Macros et VBA Excel
    Réponses: 9
    Dernier message: 05/03/2007, 11h15
  4. [VBA-E] Togglebutton Et Module
    Par lio62 dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 05/02/2007, 16h50
  5. problème avec VBA
    Par Delph dans le forum Langage
    Réponses: 2
    Dernier message: 19/08/2002, 13h15

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo