Contrôle de contenu

Bonjour,

Voici un code qui me permet de vérifier si des ComboBox ou TextBox sont vides ou non

If ComboBox_engin = "" Then

Label_engin.ForeColor = RGB(255, 0, 0)

ComboBox_engin.BackColor = RGB(255, 80, 80)

Label_message.Visible = True

ElseIf ComboBox_engin2 = "" Then

Label_engin.ForeColor = RGB(255, 0, 0)

ComboBox_engin2.BackColor = RGB(255, 80, 80)

Label_message.Visible = True

ElseIf ComboBox_demandeur = "" Then

Label_demandeur.ForeColor = RGB(255, 0, 0)

ComboBox_demandeur.BackColor = RGB(255, 80, 80)

Label_message.Visible = True

ElseIf ComboBox_expediteur = "" Then

Label_expediteur.ForeColor = RGB(255, 0, 0)

ComboBox_expediteur.BackColor = RGB(255, 80, 80)

Label_message.Visible = True

ElseIf ComboBox_destinataire = "" Then

Label_destinataire.ForeColor = RGB(255, 0, 0)

ComboBox_destinataire.BackColor = RGB(255, 80, 80)

Label_message.Visible = True

ElseIf ComboBox_contact1 = "" Then

Label_contact1.ForeColor = RGB(255, 0, 0)

ComboBox_contact1.BackColor = RGB(255, 80, 80)

Label_message.Visible = True

ElseIf ComboBox_contact2 = "" Then

Label_contact2.ForeColor = RGB(255, 0, 0)

ComboBox_contact2.BackColor = RGB(255, 80, 80)

Label_message.Visible = True

ElseIf TextBox_date1 = "" Then

Label_date1.ForeColor = RGB(255, 0, 0)

TextBox_date1.BackColor = RGB(255, 80, 80)

Label_message.Visible = True

ElseIf TextBox_date2 = "" Then

Label_date2.ForeColor = RGB(255, 0, 0)

TextBox_date2.BackColor = RGB(255, 80, 80)

Label_message.Visible = True

Else

Si elles sont vides un label apparait avec un message dedans, et le label et le fond de chaque combobox ou textbox se colorise en rouge.

Le problème avec ce code c'est qu'il les contrôle l'un après l'autre.

Est-il possible de modifier ce code pour contrôler toutes les combobox et textbox d'un coup avec un message unique en msgbox qui préciserait dans ce même message toutes les combobox et textbox vides.

en gros si combobox1, textbox1, textbox2 = vide

msgbox = Les champs suivants sont vides : combobox1, textbox1, textbox2

Si seulement 2 de vide il affichera que les 2, etc.

Merci à vous.

Salut,

Pourquoi pas créer un String, concaténer son nom à l'intérieur, à chaque test, quand elle est vide.

Puis afficher cette String à la fin

Bonjour et merci pour ta réponse.

Malheureusement je ne maîtrise pas ce type de code.

Je suis preneur d’un peu d’aide.

Merci

If ComboBox_engin = "" Then
Label_engin.ForeColor = RGB(255, 0, 0)
ComboBox_engin.BackColor = RGB(255, 80, 80)
Label_message.Visible = True

Pour afficher la liste des combobox vide tu peux faire

If ComboBox_engin = "" Then
Label_engin.ForeColor = RGB(255, 0, 0)
ComboBox_engin.BackColor = RGB(255, 80, 80)
Label_message.Visible = True
[Inline]message = message & "ComboBox_engin" [/Inline]'Cela va ajouter à la variable message le nom de ta combobox

Tu répètes l'opération dans chaque condition que tu testes et à la fin, un simple

msgbox message

Si c'est pas assez clair, tu peux envoyer ton fichier pour qu'on regarde ça

Par contre je n'ai aucune idée si on peut faire les tests en simultané

Bonjour,

d'ordinaire on renseigne les textbox et combobox dans l'ordre…

et dans ce cas je fais :

une vérification du contenu de la texbox ou du combobox précédent

après un "After update" de chaque textbox

Ceci évite de ce retrouver à la fin de la saisie en oubliant une info et oblige la saisie dans l'ordre.

N'est-il pas possible de faire ce contrôle simultanément afin que tous les label et TextBox/ComboBox apparaisse en rouge ?

Plutôt que l'un après l'autre...

ça permettrai à l'utilisateur de corriger immédiatement tous les champs manquants.

Dans l'attente d'une idée.

N'est-il pas possible de faire ce contrôle simultanément afin que tous les label et TextBox/ComboBox apparaisse en rouge ?

Plutôt que l'un après l'autre...

ça permettrai à l'utilisateur de corriger immédiatement tous les champs manquants.

L'utilisateur ne verra pas la différence, si je ne me trompe pas tout les champs passeront au rouge sans attendre une réaction de l'utilisateur.

Bonjour et merci pour votre aide.

J'ai donc essayé ce code mais le fonctionnement reste identique. Il teste les conditions l'une après l'autre.

J'aimerai pourvoir tester toutes ces conditions en même temps.

Je sais pas si c'est possible, ça me paraîtrait étonnant En attente de quelqu'un connaissant bien le sujet 😁

Ça marche, merci encore pour ton aide

Je reste dans l’attente d’autres proposition

Rechercher des sujets similaires à "controle contenu"