nounours, pas la peine d'être aussi hargneux, je t'ai indiqué un contrôle qui peut faire ce que tu as demandé.
J'ai juste ajouté que je ne m'en sers pas et que tu peux avoir des infos sur le site. La connerie, c'est pas ma réponse c'est ta fainéantise de chercher.
Et puis, pour paraphraser un autre intervenant du forum : "Un con qui marche va plus loin qu'un intello assis !"
D'ailleurs, compte le nombre de réponses que tu as eu. J'ai peut-être fait une erreur en répondant à ton post, finalement ! J'en connais d'autres qui auraient pu te répondre et qui ne s'y sont même pas abaissés !!!.
Mais, passons !
S'il faut que je m'explique, c'est bien simple, je l'ai testé ce contrôle et ça m'a toujours foutu le bordel car il faut que l'utilisateur saisisse exactement dans le format que tu as défini et là c'est pas gagné. (c pas à l'utilisateur de se conformer aux règles du programmeur mais au programmeur de prendre en compte les possibles erreurs de l'utilisateur. C'est ça le secret d'un bon prog.)
Un exemple :
Ton format : ###.##.###.### qui ressemble à un format d'IP (sauf que l'ip c plutôt, pour l'instant, ###.###.###.###)
si l'IP est 198.161.15.1 il faut que l'utilisateur saisisse 198.161.015.001 sinon, s'il saisit, comme tout le monde le fait, 198.161.15.1 dans ta textbox formattée, tu auras 198.161.151.___ et là ça marche plus et ça te plante ton prog.
tu comprends maintenant pourquoi je n'aime pas ce contrôle ?
tu peux faire l'essai avec le controle maskedbox en mettant ton format dans sa propriété mask.
perso, je préfère encore maitriser au maxi la saisie dans le keypress d'une textbox normale dans le genre pour l'exemple de la saisie d'une ip :
Private Sub Text1_KeyPress(KeyAscii As Integer)
' pour interdire les saisies autres que 0 à 9 et "."
If (KeyAscii < 48 Or KeyAscii > 57) And KeyAscii <> 46 Then KeyAscii = 0
' pour tester un minimum la saisie des .
' pas de "." au début, pas +sieurs "." de suite et pas + de 3 chiffres de suite
If KeyAscii = 46 Then
If Len(Text1) = 0 Or Right$(Text1, 1) = "." Then KeyAscii = 0
Else
If Len(Text1) > 0 And InStrRev(Text1, ".") < (Len(Text1) - 2) Then KeyAscii = 0
End If
End Sub
Maintenant, à la validation, il faut que tu contrôles aussi si c'est une adresse IP valide. Mais ça sera pareil avec une Maskedbox.
Et si ma réponse ne te convient pas, j'en suis désolé mais lors de mon 1er post, je ne t'ai pas insulté, contrairement à toi !
Sois plus cool la prochaine fois.
Cordialement, CanisLupus