Changer couleur textbox suivant type de données

Bonjour à tous,

une fois de plus j'ai besoin de votre aide.

J'ai un userform qui contient une textbox qui est de couleur rouge par défaut.

Je souhaiterai qu'elle devienne verte lorsque une donnée de type ##°##'##"X est entrée.

Les # représenteraient des chiffres et le X une lettre (en l'occurence N ou S).

Voici ce que j'ai déjà fait mais la case devient verte dès que je rentre un chiffre dedans.

Private Sub TextBox2_Change() 'latitude

'Automatic add ° ' and " and color textbox

TextBox2.MaxLength = 10

valeur = Len(TextBox2)

If valeur = 2 Then TextBox2 = TextBox2 & "°"

If valeur = 5 Then TextBox2 = TextBox2 & "'"

If valeur = 8 Then TextBox2 = TextBox2 & """"

If Format(TextBox2) = Format(TextBox2, "##°##'##"""N") or Format(TextBox2) = Format(TextBox2, "##°##'##"""N") Then TextBox2.BackColor = vbGreen

Quelqu'un pourrait m'aider?

Merci beaucoup

Bonsoir,

Avec ceci ?

Private Sub TextBox2_Change() 'latitude
    Dim valeur As Integer
    'Automatic add  ° ' and " and color textbox
    TextBox2.MaxLength = 10
    valeur = Len(TextBox2)
    If valeur = 2 Then TextBox2 = TextBox2 & "°"
    If valeur = 5 Then TextBox2 = TextBox2 & "'"
    If valeur = 8 Then TextBox2 = TextBox2 & """"
    If TextBox2.Value Like "##°##'##""N" Or TextBox2.Value Like "##°##'##""S" Then
        TextBox2.BackColor = vbGreen
    End If
End Sub

Génial ça fonctionne. Simple et efficace.

Par contre, une fois passée verte, si j'efface le contenu de la case (un ou plusieurs caractères) alors la case ne redevient pas rouge.

Une petite idée?

Merci

If TextBox2.Value Like "##°##'##""N" Or TextBox2.Value Like "##°##'##""S" Then
        TextBox2.BackColor = vbGreen
    Else
        TextBox2.BackColor = vbRed
    End If

Parfait merci beaucoup pour la réponse rapide.

Je clos

Rechercher des sujets similaires à "changer couleur textbox suivant type donnees"