Function ValideFormulaire(This As UserForm) As Boolean
Dim I As Long
Dim TG
ValideFormulaire = True
For I = 0 To This.Controls.Count - 1
If Trim("" & This.Controls(I).Tag) <> "" Then
TG = Split(This.Controls(I).Tag, ";")
If TG(1) = "O" And Trim("" & This.Controls(I)) = "" Then
MsgBox TG(0) & vbCrLf & "Est un champ Obligatoire !", vbExclamation, "Erreur de saisie"
ValideFormulaire = False
This.Controls(I).SetFocus
Exit Function
End If
If Trim("" & This.Controls(I)) <> "" Then
Select Case TG(2)
Case "N"
If IsNumeric(Replace(Trim("" & This.Controls(I)), ".", ",")) = False Or InStr(Trim("" & This.Controls(I)), ".") <> 0 Then
MsgBox TG(0) & vbCrLf & "Est un champ Numerique !", vbExclamation, "Erreur de saisie"
ValideFormulaire = False
This.Controls(I).SetFocus
Exit Function
End If
Case "D"
If IsDate(Trim("" & This.Controls(I))) = False Or InStr(Trim("" & This.Controls(I)), "/") = 0 Then
MsgBox TG(0) & vbCrLf & "Est un champ Date au format jj/mm/aaaa !", vbExclamation, "Erreur de saisie"
ValideFormulaire = False
This.Controls(I).SetFocus
Exit Function
End If
Case "I"
If IsNumeric(Trim("" & This.Controls(I))) = False Or InStr(Trim("" & This.Controls(I)), ",") <> 0 Or InStr(Trim("" & This.Controls(I)), ".") <> 0 Then
MsgBox TG(0) & vbCrLf & "Est un champ numérique entier !", vbExclamation, "Erreur de saisie"
ValideFormulaire = False
This.Controls(I).SetFocus
Exit Function
End If
Case "V"
If IsNumeric(Trim("" & This.Controls(I))) = False Then
MsgBox TG(0) & vbCrLf & "Est un champ numérique décimale !", vbExclamation, "Erreur de saisie"
ValideFormulaire = False
This.Controls(I).SetFocus
Exit Function
End If
End Select
End If
End If
Next
End Function