Bonjour

Dans l'appli que je fais j'aimerais pouvoir changer la couleur de l'arriere plan des textbox qui sont null, vide ou égal a zero en mettant un nombre de points en fonction du champ afin de definir sa largeur.

Pour ce faire j'ai fais ce code, mais sachant que j'ai pas mal de ligne je voudrais a chaque fois passer en argument de la procedure le nom de la textbox, mais voila dans la procedure la textbox est déclaré en tant que textbox et c'est un string que je lui envoie => forcement ca plante.

j'appelle la procedure avec ca:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
 
If MonClient("DateNaissGerant") IsNot DBNull.Value Then 
 
TxDateNaissanceGerant.Text = CDate(MonClient("DateNaissGerant")).ToString("dd  MMMM yyyy") 
 
Else 
 
MetenRouge(TxDateNaissanceGerant, 10)
C'est le textbox TxDateNaissanceGerant qui n'ai pas bien formater.
Et voila la procedure dans lequel il est sensé etre envoyer en temp que textbox et non string.

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
 
Sub MetenRouge(ByRef NomChamp As TextBox, ByVal NbPoints As Byte)
 
        'met en rouge le champ en argument s'il est vide avec le nombre de . défini en argument
 
        If NomChamp.Text = "" Or NomChamp.Text = "  " Or NomChamp.Text = "0,00 m²" Or NomChamp.Text = "0,00 Euros" Or NomChamp.Text = "0" Then
 
            For i = 0 To NbPoints
                NomChamp.Text = NomChamp.Text & "."
            Next
 
            NomChamp.BackColor = Color.Red
        Else
            NomChamp.BackColor = Color.White
        End If
End Sub
Merci d'avance