IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Macros et VBA Excel Discussion :

formule pour numero de telephone, svp


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Avril 2007
    Messages
    46
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 46
    Par défaut formule pour numero de telephone, svp
    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

  2. #2
    Expert éminent Avatar de mercatog
    Homme Profil pro
    Inscrit en
    Juillet 2008
    Messages
    9 435
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Autre

    Informations forums :
    Inscription : Juillet 2008
    Messages : 9 435
    Par défaut
    Bonsoir,
    Tes n° de téléphone sont de quelle forme, toujours précédés par le 05?
    combien de chiffre...

  3. #3
    Membre averti
    Inscrit en
    Avril 2007
    Messages
    46
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 46
    Par défaut re
    Merci de votre réponse,
    Oui sont toujours précéder par le 05 et contient 8 chiffres, ça veux dire 10 chiffre avec les 05. ce code dois gérer aussi la possibilité que la zone de texte attaché a ce code pourra supporter un numéro de téléphone ou deux ou trois ou même plus d’où la personne qui ma aidé a formuler ce code.
    Merci encore une autre fois

  4. #4
    Expert éminent Avatar de mercatog
    Homme Profil pro
    Inscrit en
    Juillet 2008
    Messages
    9 435
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Autre

    Informations forums :
    Inscription : Juillet 2008
    Messages : 9 435
    Par défaut
    voilà pour gérer un seul n°
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    Private Sub TextBox1_AfterUpdate()
    With Me.TextBox1
        If Len(.Value) > 0 Then
            If Left(.Value, 2) = "05" Then
                .Value = Format(.Value, "00"" ""00"" ""00"" ""00"" ""00")
            Else
                .Value = Format("05" & .Value, "00"" ""00"" ""00"" ""00"" ""00")
            End If
        End If
    End With
    End Sub
    EDIT
    Pour plusieurs numéros:
    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_AfterUpdate()
    Dim tablo
    Dim strNum As String
    Dim i As Byte
    strNum = ""
    With TextBox1
        If Len(.Value) > 0 Then
            tablo = Split(.Value, ",")
     
            For i = LBound(tablo) To UBound(tablo)
                If Left(tablo(i), 2) = "05" Then
                    strNum = strNum & ", " & Format(tablo(i), "00"" ""00"" ""00"" ""00"" ""00")
                Else
                    strNum = strNum & ", " & Format(tablo(i), "05"" ""00"" ""00"" ""00"" ""00")
                End If
            Next i
        End If
        .Value = Mid(strNum, 3)
    End With
    End Sub

  5. #5
    Membre averti
    Inscrit en
    Avril 2007
    Messages
    46
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 46
    Par défaut re
    merci c'est vraiment gentil, je vais tester , merci encore une autre fois

Discussions similaires

  1. Réponses: 2
    Dernier message: 28/04/2015, 03h27
  2. Aide pour créé une liste de numero de telephone
    Par smeagon dans le forum Autres Logiciels
    Réponses: 4
    Dernier message: 05/08/2013, 11h57
  3. Expression régulière pour numero de telephone
    Par moutey dans le forum Algorithmes et structures de données
    Réponses: 12
    Dernier message: 27/11/2007, 18h34
  4. format du numero de telephone...?
    Par bris dans le forum Débuter
    Réponses: 2
    Dernier message: 20/09/2005, 11h15
  5. Besoin d'aide pour trouver un SGBD SVP
    Par rateub dans le forum Décisions SGBD
    Réponses: 2
    Dernier message: 26/01/2005, 20h20

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo