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 = TruePour 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 comboboxTu répètes l'opération dans chaque condition que tu testes et à la fin, un simple
msgbox messageSi 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
Ça marche, merci encore pour ton aide
Je reste dans l’attente d’autres proposition