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 :

Bouton Radio et Bouton Valider


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    235
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Mai 2008
    Messages : 235
    Par défaut Bouton Radio et Bouton Valider
    Bonjour, j'ai créer sur une feuille excel, une petite zone, ou l'on doit choisir entre plusieurs bouton radio, puis on doit clicker sur un bouton valider. Voici le code de mon bouton valider :
    Code vba : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    Sub Bouton7_QuandClic()
        If Casdoption11_QuandClic = True Then
            Call ImporterAuxiliaire
        ElseIf Casdoption12_QuandClic = True Then
            Call ImporterGénéraux
        ElseIf Casdoption13_QuandClic = True Then
            Call ImporterSection
        ElseIf Casdoption14_QuandClic = True Then
            Call ImporterPGI
        Else
        casdoption15_QuandClic = True
        End If
    End Sub
    Les appels marchent bien car j'avais essayer avec 'Select Case' au lieux de 'If' mais se me prennaient tout le temps le premier cas. Comment fait-on pour recuperer la valeur du bouton radio selectionner dans le bouton valider?
    D'avance merci

  2. #2
    Membre éclairé Avatar de zandru
    Homme Profil pro
    Ingénieur conception mécanique
    Inscrit en
    Mars 2008
    Messages
    507
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur conception mécanique
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2008
    Messages : 507
    Par défaut
    Bonjour,

    si c'est des optionbutton, utilise optionbutton.Value :

    Code vba : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    Sub Bouton7_QuandClic()
        If Casdoption11.Value = True Then
            Call ImporterAuxiliaire
        ElseIf Casdoption12.Value = True Then
            Call ImporterGénéraux
        ElseIf Casdoption13.Value = True Then
            Call ImporterSection
        ElseIf Casdoption14.Value = True Then
            Call ImporterPGI
        Else
        casdoption15.Value = True
        End If
    End Sub

    Et pour ton application, un select case est effectivement plus approprié.

  3. #3
    Membre éclairé
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    235
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Mai 2008
    Messages : 235
    Par défaut
    Au lieux de mettre Casdoption11.value, il faudrait que je mette
    Code vba : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Select case
    case1 optionbutton1.Value = true Then 'traitement
    case2 optionbutton2.value = true then 'traitement
    ?

  4. #4
    Membre éclairé Avatar de zandru
    Homme Profil pro
    Ingénieur conception mécanique
    Inscrit en
    Mars 2008
    Messages
    507
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur conception mécanique
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2008
    Messages : 507
    Par défaut
    Pour utiliser un select case avec des optionbutton, il faut les regrouper dans un frame, et vérifier leur valeur suivant leur index.
    par exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    Dim ob As Control
    For Each ob In Frame1.Controls
          If ob.Value = True Then
              Select Case ob.TabIndex
                  Case 0
                  'traitement
                  Case 1
                  '...
              End Select
          End if
    Next
    Ce n'est pas forcement plus simple que des if , mais c'est plus joli

  5. #5
    Membre éclairé
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    235
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Mai 2008
    Messages : 235
    Par défaut
    Code vba : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    Sub Bouton7_QuandClic()
    Dim ob As Control
    For Each ob In Frame1.Controls
        If ob.Value = True Then
            Select Case ob.TabIndex
                Case 0
                Call ImporterAuxiliaire
                Case 1
                Call ImporterGénéraux
                Case 2
                Call ImporterSection
                Case 3
                Call ImporterPGI
            End Select
        End If
    Next
    End Sub
    Ce code me renvoit l'erreur suivante :
    erreur d'execution '424' :
    Objet requis
    Et il me souligne la ligne suivante :
    For Each ob In Frame1.Controls

  6. #6
    Membre éclairé Avatar de zandru
    Homme Profil pro
    Ingénieur conception mécanique
    Inscrit en
    Mars 2008
    Messages
    507
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur conception mécanique
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2008
    Messages : 507
    Par défaut
    Citation Envoyé par lilp1 Voir le message
    Ce code me renvoit l'erreur suivante :
    erreur d'execution '424' :
    Objet requis
    Et il me souligne la ligne suivante :
    For Each ob In Frame1.Controls
    Tu as bien créé un frame nommé "frame1" où tu as déplacé tes optionbutton ?

  7. #7
    Membre chevronné
    Inscrit en
    Décembre 2003
    Messages
    434
    Détails du profil
    Informations forums :
    Inscription : Décembre 2003
    Messages : 434
    Par défaut
    Salut,

    Plutot comme ca:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    Sub Bouton7_QuandClic()
        If Casdoption11.Value = True Then
            Call ImporterAuxiliaire
        ElseIf Casdoption12.Value = True Then
            Call ImporterGénéraux
        ElseIf Casdoption13.Value = True Then
            Call ImporterSection
        ElseIf Casdoption14.Value = True Then
            Call ImporterPGI
        Else
        casdoption15.Value = True
        End If
    End Sub
    ++
    Minick

    EDIT : désolé zandru, pas rafraichi...

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

Discussions similaires

  1. Desactiver un bouton quand un bouton radio est coché
    Par CaNiBaLe dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 01/06/2012, 15h30
  2. Dreamweaver et validation selon bouton radio obligatoire
    Par cdurand54 dans le forum Dreamweaver
    Réponses: 6
    Dernier message: 05/10/2010, 11h20
  3. Boutons radio vs boutons css3
    Par cinhic dans le forum Mise en page CSS
    Réponses: 3
    Dernier message: 04/08/2010, 13h42
  4. Réponses: 33
    Dernier message: 26/05/2010, 19h09
  5. [PHP-JS] Valider les boutons radio
    Par rabiet dans le forum Langage
    Réponses: 9
    Dernier message: 06/11/2007, 11h49

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