Test vbYesNo qui renvoie à la même action (alors qu'il ne devrait pas)

Bonjour à tous!

Après avoir passé quelques jours à écumer les forums à la recherche de réponse, qui m'ont d'ailleurs beaucoup aidé d'ailleurs et je vous en remercie, je sèche complètement sur un point qui me parait, comment dire, ridicule...

Mon projet est le développement d'un outil excel de gestion de stock pour mon entreprise. Jusqu'ici tout va bien, j'ai pu créer des champs pour rentrer les entrées et sorties de stocks, des userform pour entrer de nouvelles références...

J'ai voulu un peu étoffer mon système en renvoyant un message d'alerte lorsque l'utilisateur ne renseigne pas tous les champs dans le userform, mais c'est la que ça coince.

Le code suivant renvoie, que l'on dise oui ou non dans la MsgBox, la commande (qui consiste à insérer une ligne et à copier les valeurs du userform). Quand je le travaille un petit peu, il ne renvoit plus rien, que cela soit oui ou non.

Private Sub CommandButton1_Click() 'Bouton Valider

Dim L As Integer 'Déclaration du numéro de la ligne
Dim marep As Byte

If TextBoxDes.Text = "" Or TextBoxFourn.Text = "" Or TextBoxRef.Text = "" Or TextBoxU.Text = "" Or TextBoxQ.Text = "" Or TextBoxP.Text = "" Then

    marep = MsgBox("Tous les champs n'ont pas été remplis. Voulez-vous continuer?", vbYesNo)

    If marep = Yes Then

    Unload UserFormRef

    Else

    L = Sheets("Inventaire").Columns(1).Find(ComboBox1, lookat:=xlWhole).Row 'On cherche le numéro de la ligne correspondant au type de consommable

        With Sheets("Inventaire") 'Dans la feuille "Inventaire" faire les manipulations suivantes
            .Rows(L + 2).Insert Shift:=xlUp 'Inserer une ligne sous la ligne L+1
            .Rows(L + 2).Interior.Color = xlColorIndexNone 'Redéfini le fond en aucun remplissage
            .Cells(L + 2, 1) = TextBoxDes 'Rempli Désignation
            .Cells(L + 2, 2) = TextBoxFourn 'Rempli Fournisseur
            .Cells(L + 2, 3) = TextBoxRef 'Rempli Référence
            .Cells(L + 2, 4) = TextBoxU 'Rempli Unité
            .Cells(L + 2, 5) = TextBoxQ 'Rempli Quantité
            .Cells(L + 2, 6) = TextBoxP 'Rempli Prix
            .Cells(L + 2, 9) = ComboBoxStock 'Rempli Zone Stockage
        End With

            If Len(Me.TextBoxP) <> 0 Then

                Sheets("Inventaire").Cells(L + 2, 7) = Sheets("Inventaire").Cells(L + 2, 5) * Sheets("Inventaire").Cells(L + 2, 6) 'Calcul valorisation

            End If

End If

End If

Unload UserFormRef

End Sub

Je vous joint le fichier sur lequel je travail (sans les véritables noms et références) à titre d'exemple. Le code précédent est celui associé au click du bouton "Valider" du UserFormRef.

J'aimerais simplement comprendre ce que je fais de travers, pour ensuite pouvoir l'appliquer à tous les UserForm.

Je vous remercie d'avance pour votre aide,

Ylindiel

Bonjour,

Remplace If marep = Yes Then par If marep = vbYes Then.

Cordialement,

C'était pourtant si simple, j'en ai honte!

Merci beaucoup Sébastien!

Rechercher des sujets similaires à "test vbyesno qui renvoie meme action devrait pas"