OVH Cloud OVH Cloud

svp une reponse

3 réponses
Avatar
gerard
bonjour
j'ai un petit probleme avec mon format telephone
dans le format cellule je mets format spéciale telephone
mais si dans la celluleje tape 012345, il n'y a pas d'erreur alors qu'il
faut 10 chiffres poue un format francais
j'ai essayé de le controler avec

'N° de telephone
If Not Intersect(Target, Range("TELEPHONE")) Is Nothing Then
If Target.Value = "" Then Exit Sub
If Len(Format(Target, "0# ## ## ## ##")) <> 14 Then
MsgBox "N° de téléphone incorrecte", vbInformation
End If
End If

mais dans ce cas il le controle sous la forme 00 00 01 23 45, il n'y a pas
d'erreur et dans la cellule cela donne 0 1 23 45
merci pour votre aide

ge

3 réponses

Avatar
AV
Avec ta cellule au format "téléphone", essaye ça :

Private Sub Worksheet_Change(ByVal zz As Range)
If Intersect(zz, [TELEPHONE]) Is Nothing Then Exit Sub
If Len(zz.Text) <> 14 Then
Application.EnableEvents = False
zz.Select
MsgBox "N° de téléphone incorrect", vbInformation
zz = ""
Application.EnableEvents = True
End If
End Sub

AV
Avatar
Pascal Engelmajer
Salut,
des pistes : le nombre doit être supérieur à 0099999999 pour être valide
(mini 0100000000)
faut mettre un format sur la cellule ("0# ## ## ## ##")
et Données validation doit suffire (pas besoin d'une macro)
Amicalement.
Pascal
"il n'y a pas de vent favorable pour celui qui ne sait pas ou il va."
Sénèque.
http://www.ilyapa.net/excel
"gerard" a écrit dans le message de news:
buaskb$e68$
bonjour
j'ai un petit probleme avec mon format telephone
dans le format cellule je mets format spéciale telephone
mais si dans la celluleje tape 012345, il n'y a pas d'erreur alors qu'il
faut 10 chiffres poue un format francais
j'ai essayé de le controler avec

'N° de telephone
If Not Intersect(Target, Range("TELEPHONE")) Is Nothing Then
If Target.Value = "" Then Exit Sub
If Len(Format(Target, "0# ## ## ## ##")) <> 14 Then
MsgBox "N° de téléphone incorrecte", vbInformation
End If
End If

mais dans ce cas il le controle sous la forme 00 00 01 23 45, il n'y a pas
d'erreur et dans la cellule cela donne 0 1 23 45
merci pour votre aide

ge




Avatar
gerard
bonjour
merci Alain
j'avais dejà cherche dans ce sens mais sans mettre
Application.EnableEvents = False puis True d'ou j'avais chercher une autre
solution bien plus compliquée
merci encore
ge


"AV" a écrit dans le message de
news:
Avec ta cellule au format "téléphone", essaye ça :

Private Sub Worksheet_Change(ByVal zz As Range)
If Intersect(zz, [TELEPHONE]) Is Nothing Then Exit Sub
If Len(zz.Text) <> 14 Then
Application.EnableEvents = False
zz.Select
MsgBox "N° de téléphone incorrect", vbInformation
zz = ""
Application.EnableEvents = True
End If
End Sub

AV