Test dans un userforms

Bonjour à tous,

Je suis bloqué dans une fonction sur un fichier de facturation.

je cherche à faire un test dans un userform. ce test doit rechercher des valeurs texte dans une combox liste et doits vérifier qu'une text box est rempli, dans le cas contraire, renvoyer un msg box avec l'erreur.

Concretement, lorsqu'on clique sur l'onglet valider de l'userform (ajouter un produit sur la facture), le code doit vérifier que la case quantité de volailles est bien remplie dans le cas où 1 des produits est choisis dans la list box (soit poulets démarrés 6 sem, soit Poulets démarrés 8 sem soit Poulets démarré 12 sem). Sachant que pour tout autre produit saisi, il ne doit pas faire cette vérif ou appliquer d'erreur. Je ne maitrise pas trop les suites d'arguments et les And / Or e etc... Je en sais pas si c'est trop clair? N'hésitez pas à me demander d'autres info

Donc, voici le code qui 'il me faudrait idéalement :

If CboLibellé.Text = "poulets démarrés 6 sem" Or "Poulets démarrés 8 sem" Or Poulets démarré 12 sem" And TextQuantité.Text <>"" Then 'poursuite de 'action' de l'Userform
Else 'Si la case qté est vide'
 MsgBox "Vous devez entrer un nombre de volailles dans la case Qté!" 

Mais bon, comme vous en douter ça ne fonctionne pas ....

Quelqu'un aurait il une piste?

merci beaucoup pour votre éventuelle aide.

Bonne journée 8)

Je met le fichier facture en PJ

Bonjour

Essaie ce code :

If (CboLibellé = "poulets démarrés 6 sem" _
    Or CboLibellé = "Poulets démarrés 8 sem" _
    Or CboLibellé = "Poulets démarré 12 sem") _
    And TextQuantité.Text <> "" Then 'poursuite de 'action' de l'Userform
Else 'Si la case qté est vide'
    MsgBox "Vous devez entrer un nombre de volailles dans la case Qté!"
    Exit Sub
End If

Bye !

Merci de ta réponse!

Je viens d'essayer ton code modifié, il ne fonctionne pas : il indique bien le message, mais pour n'importe quel produit (autre que ceux demandés). Et du coup cela bloque car même en remplissant les qté et les nombre, ça reste sur le message d'erreur...

Je l'ai inséré dans le reste du code de l'userform :

[/cPrivate Sub cmdValider_Click()
If (CboLibellé = "Poulets démarrés 6 sem" _
    Or CboLibellé = "Poulets démarrés 8 sem" _
    Or CboLibellé = "Poulets démarrés 12 sem") _
    And TextQuantité.Text <> "" Then
i = 20
While Range("A" & i) <> ""
i = i + 1
Wend
If i < 33 Then
Range("A" & i).Value = TextDate.Text
Range("B" & i).Value = CboLibellé.Text
Range("D" & i).Value = TextPoids.Text
Range("C" & i).Value = TextQuantité.Text
Else
MsgBox "plus de ligne disponible pour insérer un produit sur la facture"
End If
Unload UsfFacture
Else
MsgBox "Vous devez entrer un nombre de volailles dans la case Qté!"
End If
End Sub

Nouvel essai.

Bye !

28facturation-v1.xlsm (248.27 Ko)

Désolé, ça ne fonctionne pas. Et du coup, lordqu'on ajoute un nouveau produit, cela efface la ligne du dessus au lieu de se mettre en dessous...

Merci tout de même

Rechercher des sujets similaires à "test userforms"