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 :

Select case sur option button [XL-2016]


Sujet :

Macros et VBA Excel

  1. #1
    Membre régulier
    Homme Profil pro
    Chargé d'affaires commerciales
    Inscrit en
    Janvier 2018
    Messages
    62
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 26
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Chargé d'affaires commerciales
    Secteur : Bâtiment

    Informations forums :
    Inscription : Janvier 2018
    Messages : 62
    Points : 100
    Points
    100
    Par défaut Select case sur option button
    Bonjour à tous,

    Aujourd'hui je viens avec une question rapide contrairement à d'habitude :p

    Celle-ci est la suivante : est-il possible de mettre en œuvre une structure de type select case avec le nom des options buttons d'un userform ?
    Je m'explique : je dispose d'un userform dans lequel j'ai une partie consacrée à la conversion d'unité. Il s'agit en fait d'une textbox dans laquelle l'utilisateur rentre une valeur puis sélectionne un des 6 options buttons présents pour choisir l'unité. Le but étant que si l'utilisateur rentre une valeur mais qu'il change l'unité après, la conversion dans la textbox soit automatique.

    En ce qui concerne l'algorithme, à priori je n'ai pas de problèmes. Là où j'aimerai être fixé, c'est s'il est possible d'utiliser un select case avec des options buttons et si oui, avec quelle syntaxe ? (Dans le but évidemment de simplifier le code et de ne pas passer par 6 conditions IF et d'une manière totalement inélégante)

    Merci d'avance pour votre réponse et très bonne journée de travail à vous

    Matt

  2. #2
    Invité
    Invité(e)
    Par défaut
    Bonjour,
    Code : 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
    Private Sub Valider_Click()
    Dim sCase As Integer, pas As Integer: pas = 1
    For i = 1 To 6
      sCase = sCase + (Abs(Me.Controls("OptionButton" & i)) * pas)
      pas = pas * 2
    Next
    Select Case sCase
        Case 1 '1
        Case 2 '2
        Case 4 '3
        Case 8 '4
        Case 16 '5
        Case 32 '6
        Case Else: MsgBox "pas Option sélcestionné!"
    End Select
    End Sub

  3. #3
    Membre régulier
    Homme Profil pro
    Chargé d'affaires commerciales
    Inscrit en
    Janvier 2018
    Messages
    62
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 26
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Chargé d'affaires commerciales
    Secteur : Bâtiment

    Informations forums :
    Inscription : Janvier 2018
    Messages : 62
    Points : 100
    Points
    100
    Par défaut
    Bonjour,

    C'est exactement ce qu'il me fallait :p

    Merci beaucoup et bonne journée !

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

Discussions similaires

  1. Réponses: 6
    Dernier message: 07/05/2014, 10h04
  2. Select case sur une date
    Par tamtam64 dans le forum Macros et VBA Excel
    Réponses: 7
    Dernier message: 14/11/2013, 17h45
  3. Select case sur une partie d'une chaine de caractere
    Par Invité dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 23/01/2012, 16h16
  4. Probleme Select Case sur Double Condition
    Par Danyel dans le forum VB.NET
    Réponses: 2
    Dernier message: 15/04/2008, 00h37
  5. [Règles de l'art ?] Select Case.. sur 85 case..
    Par jeanchcom dans le forum Access
    Réponses: 6
    Dernier message: 18/09/2006, 16h21

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