Userform macro SolidWorks

Bonjour,

J'ai toute une série d'option à paramétré sur SolidWorks à l'aide de macro comme :

-un perçage Ø2 à tel position du sommet de ma pièce

-une fente de tourne vis

-une gorge pour joint d'étanchéité

-etc...

Au total j'en ai 20 en comptant l'option "pas d’options"

Et je voulais savoir comment faire, si je suis obliger d'utiliser les fonction If et ElsIf pour chaque options ou si il y a d'autres méthodes ?

Merci d'avance pour vos réponses

Bonjour,

Si je comprends bien ce sont des checkbox donc oui il va falloir traiter avec des if/else ou select case (la seconde est plus véloce mais pour ma part jamais eu de problèmes avec if/else).

Après tout dépend de ce que tu veux faire exactement (contrôle des cases cochées, incompatiblité de choix...)

3 « J'aime »

Dans mon Userform j'ai fait une Listbox ou on a :

U "00" -> aucune options

U "01" -> perçage Ø2

U "02" -> gorge pour joint d'étanchéité

... jusqu'à la 21

Du coup je note :

"If U = (numéro de l'option) Then" OU "If U "00" select Then"

Je sais pas exactement comment je dois procédé avec cette fonction

Je plussoie Cyril.f, pour ma l'utilisation d'un Select Case (Equivalent d'un Switch dans les autres language, tel que le PHP, Java, etc)

Voici un code d'exemple de traitement (J'ai mis une macro complète pour l'exemple en fichier joint):

Private Sub BtValid_Click()
    'On fait un traitement sur la valeur
    Select Case ComboBox.Value
        Case "U1":
            MsgBox "Je fais un traitement sur U1"
        Case "U2":
            MsgBox "J'affiche U2"
        Case "U3":
            MsgBox "Je suis U3"
        Case Else
            MsgBox "Traitement par défaut sur la valeur " & ComboBox.Value
    End Select
End Sub

 

Edit: On remarquera que je ne fais que le traitement sur les valeurs U1, U2 et U3, toutes les autres valeurs prendrons le "Case Else".


exemple.swp
1 « J'aime »

Ce n'est pas exactement ce que je veux faire, je préfère utilisé les fonctions if et else.

Je souhaiterai que dans ma macro on ai par exemple :

Si la case U14 est selctionner alors prendre tel plan faire un cercle de tel Ø etc etc

Je sais juste pas énoncer ça dans un langage vba et c'est tout ce dont j'ai besoin

>Si la case U14 est selctionner alors prendre tel plan faire un cercle de tel Ø etc etc

Et bien tu peux le faire ici:

Case "U1":
     'Ici tu fais ton traitement, prendre tel plan faire un cercle de tel Ø
Case "U2":
     'Traitement pour U2

C'est équivalent à:

If ComboBox.Value = "U1" Then
   'Traitement pour U1
Elseif ComboBox.Value = "U2" Then
  'Traitement pour U2

Endif

 

La première solution que j'ai donné est juste plus courte.