Test N° de Tel

gds35

XLDnaute Impliqué
Bjr mes Amis du Forum ,
Je cherche a verifier que lors d'une saisie d'un N° de portable il commence par 06 . J'ai ecris cela ss succes. Peut être avez vous la solution mais je n'en doute pas. Voila le code ecris , pourquoi ne fonctionne t'il pas ???
' FORMATAGE du N° de GSM
'
Dim NumGsm As String
NumGsm = GSM.Text
DebNum = Mid("NumGsm", 1, 2)
If DebNum <> "06" Then
MsgBox ("LE N° D'UN PORTABLE COMMENCE PAR 06")
Else
Select Case Len(NumGsm)
Case 2, 5, 8, 11
NumGsm = NumGsm & "."
End Select
GSM.Text = NumGsm
'
End If
et si je commence a entrer le N° des la frappe du zero il m'affiche ma TB

Salut et merci Bon WE ; GDS35
 

gds35

XLDnaute Impliqué
Re : Test N° de Tel

Salut Justine Merci de on aide , mon test est ds le code d'une textbox dont le code est :

Private Sub GSM_Change()
'
' FORMATAGE du N° de GSM
'
Dim NumGsm As String
NumGsm = GSM.Text
DebNum = Mid("NumGsm", 1, 2)
If DebNum <> "06" Then
MsgBox ("LE N° D'UN PORTABLE COMMENCE PAR 06")
Else
Select Case Len(NumGsm)
Case 2, 5, 8, 11
NumGsm = NumGsm & "."
End Select
GSM.Text = NumGsm
'
End If
End Sub

Je ne pige + ou est le bug.

Encore merci GDS35(GéGé)
 

Pierrot93

XLDnaute Barbatruc
Re : Test N° de Tel

Bonjour Gds, Joss, Justine

petite suggestion, si je peux me permettre, pourquoi ne pas envoyer directement le "06" dans la textbox lors de l'initialisation de l'USF...

Code:
Private Sub UserForm_Initialize()
TextBox1.Value = "06"
End Sub

bon après midi
@+
 

justine

XLDnaute Occasionnel
Re : Test N° de Tel

re, bonsoir pierrot93
dans ta ligne : DebNum = Mid("NumGsm", 1, 2), tu dois enlever les guillemets, NumGsm est une variable.

de plus au lieu d'utiliser la fonction MID, moi j'utiliserai la fonction left car tu sais que tu controles les deux premiers chiffres
 
Dernière édition:

Pierrot93

XLDnaute Barbatruc
Re : Test N° de Tel

Re

si tu veux utiliser l'événement change, peut être une autre solution, ciomme ci dessous :

Code:
Private Sub TextBox1_Change()
If Len(TextBox1.Value) = 1 And TextBox1.Value <> "0" Then
    MsgBox "le 1er num doit être un zéro": TextBox1.Value = ""
        ElseIf Len(TextBox1.Value) = 2 And TextBox1.Value <> "06" Then _
            MsgBox "le num doit commencer par 06": TextBox1.Value = "0"
End If
End Sub

@+
 

gds35

XLDnaute Impliqué
Re : Test N° de Tel

Eh bien , merci a tous mes AMIS du Forum , en cette saison , ce ne sont pas des oeufs qui tombe dans mon jardin , mais vos précieux conseils que je vais m'empresser de développer et d'en tester les saveurs.
Bon WE A+ (Surement) GDS35(GéGé)
 

myDearFriend!

XLDnaute Barbatruc
Re : Test N° de Tel

Bonjour gds35, Justine, Pierrot93, le Forum,

A toutes fins utiles, voici une procédure Change() qui contrôle la cohérence du numéro de téléphone au fur et à mesure de sa saisie et minimise ainsi les risque d'erreur (toujours possible cela dit) :
Code:
[COLOR=GRAY][B][I]DANS LE MODULE DE CODE DU USERFORM[/I][/B][/COLOR]

[COLOR=NAVY]Private Sub[/COLOR] TextBox1_Change()
[COLOR=GREEN]'myDearFriend!  -  www.mdf-xlpages.com[/COLOR]
[COLOR=NAVY]Static[/COLOR] T [COLOR=NAVY]As String
Dim[/COLOR] OK [COLOR=NAVY]As Boolean
Dim[/COLOR] i [COLOR=NAVY]As Byte
Const[/COLOR] Chaine [COLOR=NAVY]As String[/COLOR] = "06########"[COLOR=NAVY]
    With[/COLOR] TextBox1
        [COLOR=NAVY]For[/COLOR] i = 1 [COLOR=NAVY]To[/COLOR] 10
            [COLOR=NAVY]If[/COLOR] .Value [COLOR=NAVY]Like[/COLOR] Left(Chaine, i) [COLOR=NAVY]Then[/COLOR]
                OK = [COLOR=NAVY]True
                Exit For
            End If
        Next[/COLOR] i
        [COLOR=NAVY]If[/COLOR] OK [COLOR=NAVY]Then[/COLOR] T = .Value [COLOR=NAVY]Else[/COLOR] .Value = T
    [COLOR=NAVY]End With
End Sub[/COLOR]
Cordialement,
 
Dernière édition:

gds35

XLDnaute Impliqué
Re : Test N° de Tel

Bonjour a tous mes AMIS du Forum ,
Malgré mes nombreux tests impossible de tester la validité du debut du GSM soit 06. Je compte sur vs car je vais peter un plomb !!!!!!
SVP Corrigé moi ce maudit code MERCI , MERCI , MERCI 1000 Fois

Dim NumGsm As String
NumGsm = GSM.Text
DebNum = Mid("NumGsm", 1, 2)
If DebNum <> "06" Then
MsgBox ("LE N° D'UN PORTABLE COMMENCE PAR 06")
Else
Select Case Len(NumGsm)
Case 2, 5, 8, 11
NumGsm = NumGsm & "."
End Select
GSM.Text = NumGsm
'
End If

GDS35
 

Pierrot93

XLDnaute Barbatruc
Re : Test N° de Tel

Re

perso je l'ai essayé et aucun problème(Excel2003), as tu bien modifié partout dans le code, le nom de la "textbox" ?
Sinon mets le fichier en question en pièce jointe, sans données confidentielles, mais avec l'usf et tout le code utilisé...

@+
 

Statistiques des forums

Discussions
312 113
Messages
2 085 430
Membres
102 889
dernier inscrit
monsef JABBOUR