MsgBox s'affiche deux fois

Bonjour à tous sur ce forum,

J'ai placé une condition avec renvoie d'un MsgBox si un combox est vide.

Ca marche, seulement la fenêtre du MsgBox apparait deux fois successivement. Je ne trouve pas de solution. Ci-dessous mon code et merci d'avance pour votre aide.

[code]Private Sub Tb_QtéEntrée_Change()

If Cb_Référence = "" Then

MsgBox "Veuillez d'abord saisir la référence de la pièce"

Tb_QtéEntrée = ""

Cmd_Valider.Enabled = False

Else

If Tb_QtéEntrée <> "" Then

Cmd_Valider.Enabled = True

Else

Cmd_Valider.Enabled = False

End If

End If

End Sub

Bonjour,

Comprends pas très bien ton code.

Si ta combobox référence est vide alors message et en plus tu vide la textbox quantitié ? çà sert à quoi ?

Si une combobox ou une textbox est vide alors tu sors de la macro tout simplement. ( Exit sub )

Par ailleurs je vois pas non plus à quoi sert le " Cmd_Valider.Enabled""

Si tout est bon et que l'on ne sort pas de la macro alors la vadation continue

Private Sub Tb_QtéEntrée_Change()
                If Cb_Référence = "" Then
                MsgBox "Veuillez d'abord saisir la référence de la pièce"
                Exit sub
             Else

            If Tb_QtéEntrée = "" Then
                   MsgBox "Veuillez d'abord saisir une quantité"
                   Exit sub
             Else
                Cmd_Valider.Enabled = True
             End If
            End If

         End Sub

Bonjour,

C'est la ligne Tb_QtéEntrée = "" après MsgBox qui déclence une 2e fois la macro.

Joseph

Bonjour Joseph,

Je veux effectivement que Tb_QtéEntrée se réinitialise après le MsgBox.

Bonjour Joseph,

Je veux effectivement que Tb_QtéEntrée se réinitialise après le MsgBox.

Certes c'est ce que tu veux ; cela ne veux pas dire que c'est une bonne idée vu ta 2 ème condition.

Bonjour Xmenpl ,

Je souhaite que la textbox se réinitialise pour deux raisons :

  • Pour permettre à l'utilisateur de reprendre la procédure
  • La textbox active le bouton valider, apres le MsgBox si la valeur saisie est toujours la, on peut valider l'enregistrement qui est incomplet.

N'y a t-il pas un moyen de reinitialiser la textbox sans avoir le double affichage du MsgBox ?

Bonjour,

Comprends pas très bien ton code.

Si ta combobox référence est vide alors message et en plus tu vide la textbox quantitié ? çà sert à quoi ?

Si une combobox ou une textbox est vide alors tu sors de la macro tout simplement. ( Exit sub )

Par ailleurs je vois pas non plus à quoi sert le " Cmd_Valider.Enabled""

Si tout est bon et que l'on ne sort pas de la macro alors la vadation continue

N'y a t-il pas un moyen de reinitialiser la textbox sans avoir le double affichage du MsgBox ?

Tu n'as sans doute pas bien lu mon premier post.

Aprés ton premier test message box. si combobox vide alors

 If Cb_Référence = "" Then
                MsgBox "Veuillez d'abord saisir la référence de la pièce"
                Tb_QtéEntrée = ""
                Exit sub

on sort de la macro donc il n'y aura pas de deuxième message.

Même si je trouve totalement "space" de vouloir vider la textbox parce que la combobox et vide

Ensuite si combobox non vide alors on test textbox Entrée et on sort si vide :

If Tb_QtéEntrée = "" Then
                   MsgBox "Veuillez d'abord saisir une quantité"
                   Exit sub

idem on sort donc 1 seul message.

Laisses tomber tes : Cmd_Valider.Enabled = False

Totalement inutile - si vide alors message et on sort - si non vide alors on valide les données.

Bonjour Xmenpl ,

Je vais suivre tes conseilles.

Je te confirme si ça marche.

Merci beaucoup, j'ai pu mettre de l'ordre dans mes formules.

Cordiales salutations.

Rechercher des sujets similaires à "msgbox affiche deux fois"