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 :

Appeler Optionbutton / case d'option dans macro [XL-2016]


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    419
    419 est déconnecté
    Membre confirmé
    Homme Profil pro
    Portage Salarial
    Inscrit en
    Mars 2005
    Messages
    82
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Portage Salarial
    Secteur : Conseil

    Informations forums :
    Inscription : Mars 2005
    Messages : 82
    Par défaut Appeler Optionbutton / case d'option dans macro
    Bonjour,

    un truc easy mais je ne retrouve pas comment faire.

    j'ai plusieurs cases d'option dont j'ai le nom.
    Mais je n'arrive pas à utiliser ce nom dans une macro.

    Ce sont des contrôles de formulaire dans un groupe sur une feuille excel
    Le nom du groupe est "Zone de groupe 6".

    Dans une macro (pas dans un userform), je cherche à copier la valeur de la "case d'option 7" (son nom sous excel) pour la coller ailleurs (dans le but final, dans un autre fichier, d'activer une case à option identique
    Dans un premier temps, j'ai limité la réponse à du msgbox..

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
        If OptionButton("Case d'option 7") Then MsgBox "temps plein" Else MsgBox "temps partiel"
    'ou
    If activesheet.OptionButton("Case d'option 7") Then MsgBox "temps plein" Else MsgBox "temps partiel"
    il faut peut être partir du nom du groupe?
    Merci pour votre savoir.

  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 169
    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 169
    Billets dans le blog
    53
    Par défaut
    Bonjour,
    Exemple : Affichera dans MsgBox quel bouton d'option (Option Button) est coché en donnant son nom
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    Sub t()
      Dim shpe As Shape
      For Each shpe In ActiveSheet.Shapes
        With shpe
          If .FormControlType = 7 Then
             If .ControlFormat.Value <> -4146 Then
                 MsgBox shpe.Name & " est sélectionné"
             End If
          End If
        End With
      Next shpe
    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
    419
    419 est déconnecté
    Membre confirmé
    Homme Profil pro
    Portage Salarial
    Inscrit en
    Mars 2005
    Messages
    82
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Portage Salarial
    Secteur : Conseil

    Informations forums :
    Inscription : Mars 2005
    Messages : 82
    Par défaut
    Bonsoir,

    merci pour le message mais qui ne répond pas tout à fait à ma problématique.

    Je "connais" le nom du bouton d'option, ce que je souhaite c'est savoir comment le nommer dans un code.

    Bouton d'option 3 = ???? dans un code vba.

    Pour faire par exemple en "langage parlé", la macro suivante :

    Si "bouton d'option 3" est True ou False alors... msgbox xx


    Merci

  4. #4
    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 169
    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 169
    Billets dans le blog
    53
    Par défaut
    Bonjour,
    merci pour le message mais qui ne répond pas tout à fait à ma problématique.
    Je "connais" le nom du bouton d'option, ce que je souhaite c'est savoir comment le nommer dans un code.
    Ce n'est pas ce que tu as demandé, voir ci-dessous ta demande
    Mais je n'arrive pas à utiliser ce nom dans une macro
    donc en affichant son nom, je t'ai donné la réponse car le nom que tu connais n'est pas le même qu'en VBA qui parle anglais
    soit par exemple, le code ci-dessous qui sélection le 1er "OptionButton" de la collection
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
      ActiveSheet.Shapes("Option button 1").ControlFormat.Value = 1
    Pour faire par exemple en "langage parlé", la macro suivante :
    Si "bouton d'option 3" est True ou False alors... msgbox xx
    Que je t'ai montré en langage VBA dans l'exemple que j'ai publié mais peut-être n'as tu pas pris la peine de le tester. Voir ci-dessous
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    If .ControlFormat.Value <> -4146 Then
            MsgBox shpe.Name & " est sélectionné"
    End If
    Si la valeur est -4146 cela signifie que le contrôle n'est pas sélectionné parce-qu'un Optionbutton n'est pas un CheckBox qui lui a comme valeur soit True soit False
    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

  5. #5
    Expert confirmé
    Homme Profil pro
    aucune
    Inscrit en
    Avril 2016
    Messages
    7 563
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 84
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : aucune

    Informations forums :
    Inscription : Avril 2016
    Messages : 7 563
    Par défaut
    Bonjour
    Philippe Tulliez t'a montré comment déterminer avec précision le nom finalement donné à ce bouton d'option, dont tu précises qu'il est un contrôle formulaire.
    Soit par exemple option button 4 ce nom (c'est cette forme que revêt ce nom sur ma machine) -->> regarde ce que fait ce code --->>

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Shapes("option button 4").Select
      With Selection
         MsgBox .Value & vbCrLf & "on va l'inverser"
        .Value = IIf(.Value >= 1, 0, 1)
      End With

  6. #6
    419
    419 est déconnecté
    Membre confirmé
    Homme Profil pro
    Portage Salarial
    Inscrit en
    Mars 2005
    Messages
    82
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Portage Salarial
    Secteur : Conseil

    Informations forums :
    Inscription : Mars 2005
    Messages : 82
    Par défaut
    Re bonsoir,
    merci pour vos réponses.

    J'allais vous dire que j'ai a priori trouvé.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    If ActiveSheet.Shapes("Option Button 4").ControlFormat.Value = 1 Then

    Pour l'exemple, j'ai testé et trituré. J'avais "option button 4" ou xx quand mon tableur me montrait "case d'option 4".

    Il n'empêche que "option button 4" qui est le nom VBA de la case ne m'a pas permis de comprendre comment l'écrire.


    mais je vous remercie et apprécie vos retours.

    la réponse à ma question initiale était là en fait

    donc en affichant son nom, je t'ai donné la réponse car le nom que tu connais n'est pas le même qu'en VBA qui parle anglais
    soit par exemple, le code ci-dessous qui sélection le 1er "OptionButton" de la collection
    Code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ActiveSheet.Shapes("Option button 1").ControlFormat.Value = 1

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

Discussions similaires

  1. [XL-2010] Coder une instruction VB pour une case d'option dans une Frame
    Par Newworld92 dans le forum Macros et VBA Excel
    Réponses: 14
    Dernier message: 17/04/2016, 21h34
  2. [IP-2003] Faire la moyenne de cases d'options dans un tableau
    Par dam2p dans le forum InfoPath
    Réponses: 3
    Dernier message: 04/02/2013, 10h25
  3. [AC-2003] Case d'option dans un formulaire !
    Par wass6 dans le forum IHM
    Réponses: 1
    Dernier message: 30/05/2011, 18h35
  4. [AC-2003] Ajout case d'option dans groupe d'option
    Par Nessie37 dans le forum IHM
    Réponses: 5
    Dernier message: 02/10/2009, 18h12
  5. Eviter les cases de couleurs dans Macro
    Par zephirsoul dans le forum Macros et VBA Excel
    Réponses: 11
    Dernier message: 02/11/2007, 19h10

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