Private Sub Texbox6_Exit(ByVal Cancel As MSForms.ReturnBoolean)
Dim adm$, i%, j%, nc As Boolean
adm = Trim(tb6.Value)
If adm = "" Then Exit Sub
adm = Replace(Replace(Replace(adm, "..", "."), "--", "-"), "__", "_")
adm = Replace(Replace(Replace(adm, ".@", "@"), "-@", "@"), "_@", "@")
adm = Replace(Replace(Replace(adm, "@.", "@"), "@-", "@"), "@_", "@")
If adm Like "@*" Then adm = Right(adm, Len(adm) - 1)
If adm Like "*@" Then adm = Left(adm, Len(adm) - 1)
For i = 1 To Len(adm)
If Mid(adm, i, 1) = "@" Then j = j + 1
Next i
If j = 1 Then
i = InStr(Split(adm, "@")(1), ".")
If i > 0 Then
For i = 1 To Len(adm)
Select Case Asc(Mid(adm, i, 1))
Case 45, 46, 48 To 57, 64 To 90, 95, 97 To 122
Case Else
nc = True: Exit For
End Select
Next i
Else
nc = True
End If
Else
nc = True
End If
If nc Then
MsgBox "L'adresse mail n'est pas conforme !", vbInformation, "Adresse invalide"
Cancel = True
Else
tb6.Value = adm
End If
End Sub