+ Répondre à la discussion
Affichage des résultats 1 à 8 sur 8
  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    mai 2008
    Messages
    227
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : mai 2008
    Messages : 227
    Points : 41
    Points
    41

    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 :
    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 éprouvé Avatar de zandru
    Homme Profil pro
    Ingénieur conception mécanique
    Inscrit en
    mars 2008
    Messages
    506
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 29
    Localisation : France, Essonne (Île de France)

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

    Informations forums :
    Inscription : mars 2008
    Messages : 506
    Points : 484
    Points
    484

    Par défaut

    Bonjour,

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

    Code vba :
    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é.
    A lire :Les Règles

  3. #3
    Membre expérimenté
    Inscrit en
    décembre 2003
    Messages
    434
    Détails du profil
    Informations forums :
    Inscription : décembre 2003
    Messages : 434
    Points : 544
    Points
    544

    Par défaut

    Salut,

    Plutot comme ca:
    Code :
    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...

  4. #4
    Membre du Club
    Profil pro
    Inscrit en
    mai 2008
    Messages
    227
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : mai 2008
    Messages : 227
    Points : 41
    Points
    41

    Par défaut

    Au lieux de mettre Casdoption11.value, il faudrait que je mette
    Code vba :
    1
    2
    3
    Select case
    case1 optionbutton1.Value = true Then 'traitement
    case2 optionbutton2.value = true then 'traitement
    ?

  5. #5
    Membre éprouvé Avatar de zandru
    Homme Profil pro
    Ingénieur conception mécanique
    Inscrit en
    mars 2008
    Messages
    506
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 29
    Localisation : France, Essonne (Île de France)

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

    Informations forums :
    Inscription : mars 2008
    Messages : 506
    Points : 484
    Points
    484

    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 :
    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
    A lire :Les Règles

  6. #6
    Membre du Club
    Profil pro
    Inscrit en
    mai 2008
    Messages
    227
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : mai 2008
    Messages : 227
    Points : 41
    Points
    41

    Par défaut

    Code vba :
    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

  7. #7
    Membre éprouvé Avatar de zandru
    Homme Profil pro
    Ingénieur conception mécanique
    Inscrit en
    mars 2008
    Messages
    506
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 29
    Localisation : France, Essonne (Île de France)

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

    Informations forums :
    Inscription : mars 2008
    Messages : 506
    Points : 484
    Points
    484

    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 ?
    A lire :Les Règles

  8. #8
    Membre du Club
    Profil pro
    Inscrit en
    mai 2008
    Messages
    227
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : mai 2008
    Messages : 227
    Points : 41
    Points
    41

    Par défaut

    Je m'étais trompé, dsl, j'avait oublier d'affecter la valeur des boutons radios a une cellule pour ensuite recuperer la valeur de la cellule et donc de quel bouton a été valider.
    Merci pour votre aide

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

Liens sociaux

Règles de messages

  • Vous ne pouvez pas créer de nouvelles discussions
  • Vous ne pouvez pas envoyer des réponses
  • Vous ne pouvez pas envoyer des pièces jointes
  • Vous ne pouvez pas modifier vos messages
  •