Bonjour a vous, et meci d'avance de votre aide

sur la base d’une aide d’une personne j’ai pu obtenir le code suivant qui permet de respecter une formuler pour la saisie des numéros de téléphones :

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
17
18
19
20
Private Sub TextBox1_Exit(ByVal Cancel As MSForms.ReturnBoolean)
' séparateur une virgule
Dim tablo() As String
Dim i As Byte
With TextBox1
If .Value = "" Then Exit Sub
If InStr(.Value, ",") > 0 Then
    tablo = Split(.Value, ",")
    .Value = ""
    For i = LBound(tablo) To UBound(tablo)
        If .Value = "" Then
            .Value = Format(tablo(i), "05"" ""00"" ""00"" ""00"" ""00")
        Else
            .Value = .Value & "," & Format(tablo(i), , "05"" ""00"" ""00"" ""00"" ""00")
        End If
    Next i
 
Else
    .Value = Format(.Value, "05"" ""00"" ""00"" ""00"" ""00")
End If
Mais j’ai pu constater deux problèmes :
Quand je fais la saisie du numéro de téléphone sous la forme par exemple 23241582 ça me donne le résultat espéré, mais si je fais la saisie du numéro de téléphone sous sa forme total par exemple 0523241582 ça m'ajoute une autre 5, et aussi a chaque fois que je me déplace par tabulation ça ajoute aussi un 5 et un ci de suite.
J’espère être claire pour mon problemes. Merci de me lire et aussi de votre aide