Signaler une erreur dans un formulaire

tomy

XLDnaute Nouveau
bonjour,

j'ai creer un formulaire avec des chmaps texte A,B,C et D

quand l'utilisateur valide sa saisie ( boutton 'Ajouter')
je lance un test voir si les chmaps sont vides :

Private Sub cmdAjouter_Click()
'ERREUR si un champs vide
If A = "" Then
MsgBox "Erreur le champ 'A' est vide"
ElseIf B = "" Then
MsgBox "Erreur le champ 'B' est vide"
ElseIf C = "" Then
MsgBox "Erreur le champ 'C' est vide"
ElseIf D = "" Then
MsgBox "Erreur D est vide"
End If

D'ailleur Meme si je rentre une infos dans la cellule ca me dit encore cellule vide ????

j'aimerai pouvoir integre une petite fonction pour :
- faire que l'utlisateur revienne au formulaire
- faire que les champs non vides restent non vide ( reprise des valeurs deja entrées, sachant qu'au demarrage de mon formulaire j'ai un script qui remet tout à Zéro par commodité)

optionnel :
- faire que le titre du champ vide devienne rouge

Merci de votre aide.
tomy
 

PascalXLD

XLDnaute Barbatruc
Modérateur
Re : Signaler une erreur dans un formulaire

Bonjour

tu as nommé tes textbox A B C et D c'est bien cela ??

Si tu rajoutes un exit sub après ton message d'erreur et bien il ne se passera rien donc ton Uf restera dans l'état

Pour mettre ton libellé en rouge un petit bout de fichier serait plus simple
 

tomy

XLDnaute Nouveau
Re : Signaler une erreur dans un formulaire

Pour ce qui est du EXIT SUB c'est exactement ce que je voulais merci !

sinon pour le bout de fichier c pas possible ... désolé

mais c'est juste un userform avec :
- 4 textbox nommée A B C et D
- 4 titre de textbox nommé TXT_A,TXT_B....

voila

Merci
 

PascalXLD

XLDnaute Barbatruc
Modérateur
Re : Signaler une erreur dans un formulaire

RE

Essaies ainsi
Code:
Private Sub cmdAjouter_Click()
'ERREUR si un champs vide
If A = "" Then
    MsgBox "Erreur le champ 'A' est vide"
    TXT_A.ForeColor = &HFF&
    Exit Sub
Else
    TXT_A.ForeColor = &H80000012
End If
If B = "" Then
    MsgBox "Erreur le champ 'B' est vide"
    TXT_B.ForeColor = &HFF&
    Exit Sub
Else
    TXT_B.ForeColor = &H80000012
End If
If C = "" Then
    MsgBox "Erreur le champ 'C' est vide"
    TXT_C.ForeColor = &HFF&
    Exit Sub
Else
    TXT_C.ForeColor = &H80000012
End If
If D = "" Then
    MsgBox "Erreur le champ 'D' est vide"
    TXT_D.ForeColor = &HFF&
    Exit Sub
Else
    TXT_D.ForeColor = &H80000012
End If
 

PascalXLD

XLDnaute Barbatruc
Modérateur
Re : Signaler une erreur dans un formulaire

Re

autre solution

Code:
Private Sub cmdAjouter_Click()
'ERREUR si un champs vide

Dim meschamps As String

meschamps = ""
If A = "" Then
    meschamps = "A"
    TXT_A.ForeColor = &HFF&
Else
    TXT_A.ForeColor = &H80000012
End If
If B = "" Then
    meschamps = IIf(meschamps = "", "B", meschamps & "-B")
    TXT_B.ForeColor = &HFF&
Else
    TXT_B.ForeColor = &H80000012
End If
If C = "" Then
    meschamps = IIf(meschamps = "", "C", meschamps & "-C")
    TXT_C.ForeColor = &HFF&
Else
    TXT_C.ForeColor = &H80000012
End If
If D = "" Then
    meschamps = IIf(meschamps = "", "D", meschamps & "-D")
    TXT_D.ForeColor = &HFF&
Else
    TXT_D.ForeColor = &H80000012
End If
If meschamps <> "" Then
    MsgBox "Erreur le(s) champ(s) " & meschamps & " est(sont) vide(s)"
    Exit Sub
End If
 

Statistiques des forums

Discussions
312 229
Messages
2 086 426
Membres
103 206
dernier inscrit
diambote