Utiliser information dans une liste déroulante UserForm

Bonjour !

Grande débutante en VBA, je viens vous demandez de l'aide!

J'essaye de créer un formulaire grâce à UserForm, j'ai introduis une liste déroulante qui me propose différentes gammes soit 1,2,3 et j'ai également un TextBox qui me permet d'insérer le nombre de vis du produit. Suite à ça je veux afficher le temps de production de mon produit.

Exemple : Si je choisis la gamme 1, avec 200 vis j'aimerais utiliser cette formule: t1 = 0.20* nombre_vis + 0.10

Or si je choisis la gamme 2 avec toujours 200 vis j'ai une autre formule : t1 = 0.18 * nombre_vis + 0.15

Et ainsi de suite pour mes différentes gammes.

Mon code fonctionne avec mes If, mais j'aimerais savoir si il existe une autre manière pour réaliser ceci plutôt que de faire autant de boucle?

Ci-joint ma production, ce n'est qu'une petite partie mais j'essaye d'y aller pas à pas. Si celà vous semble mauvais veuillez m'excuser de mon incompétence et m'aider à m'améliorer. :)

Une autre petite question : existe t il une formule qui me permet de regrouper tout mes "Or" ? Pour une autre projet j'ai la ligne suivante : If nombre_vis = "" Or nombre_bois = "" Or nombre_serrure = "" Or .....

Bonjour,

Tu peux utiliser un tableau avec les valeurs souhaitées et ensuite utiliser toujours la même formule en utilisant un tableau avec un index différent en fonction du numéro de gamme choisi.

La place qu'on gagne en économisant les "If" se perd en initialisant le tableau, après c'est une histoire de préférence.

Tu peux copier/coller ce code à la place du tiens, ça marche parfaitement de mon coté.

Private Sub afficher_Click()

    Dim tab_vis(2, 1) As Double

    tab_vis(0, 0) = 0.1077870047
    tab_vis(0, 1) = 0.1094871795

    tab_vis(1, 0) = 0.1505807783
    tab_vis(1, 1) = 0.156875

    tab_vis(2, 0) = 0.1811285024
    tab_vis(2, 1) = 0.2302222222

    If textvis.Value <> "" Then
        nombre_vis = textvis.Value
    Else
        MsgBox "Veuillez saisir le nombre de vis"
        Exit Sub
    End If

    If comboboxgamme.Value <> "" Then
        If numero_gamme < 4 Then
            numero_gamme = comboboxgamme.Value - 1
        Else
            MsgBox "Veuillez saisir un numéro de gamme valide"
        End If
    Else
        MsgBox "Veuillez saisir le numéro de gamme"
        Exit Sub
    End If

    valeur_finale = tab_vis(numero_game, 0) * nombre_vis + tab_vis(numero_gamme, 1)

    MsgBox valeur_finale

End Sub

Salut BibuNesco ,camtgb

essayer avec cette présentation :

Rechercher des sujets similaires à "utiliser information liste deroulante userform"