Fonction personnelle "telephone"

manu cho

XLDnaute Nouveau
Bonjour à tous !


Une petite demande qui pourrait faire le bonheur de nombre d'entre nous :)
J'aimerai créer un fonction personnelle du type =telephone(cellule) capable de :

- Renvoyer FAUX si la cellule n'est pas égale à 9 ou 14 caractères
- Renvoyer le numéro de téléphone au format texte (10 caractères) avec un 0 devant si la cellule contient 9 caractères
- Renvoyer le numéro de téléphone au format texte (10 caractères) si la cellule contient 14 caractères
- Renvoyer le numéro de téléphone au format texte (10 caractères) si la cellule contient 10 caractères


Exemple :

En A1, nous avons : 06 24 57 89 97, alors FAUX
En A1, nous avons : 624578997, alors 0624578997
En A1, nous avons : 06 24 57 89 97 ou 06/24/57/89/97 alors 0624578997
En A1, nous avons : 0624578997, alors 0624578997

Une idée ? :)
 

Staple1600

XLDnaute Barbatruc
Re : Fonction personnelle "telephone"

Bonjour


Une solution
Code:
Function telephone(c As Range) As String
Application.Volatile
Select Case Len(c)
Case Is < 9
telephone = "FAUX"
Case 9
telephone = "0" & c
Case 14
If InStr(c.Text, "/") > 0 Then
telephone = Replace(c.Text, "/", "")
ElseIf InStr(c.Text, " ") > 0 Then
telephone = Replace(c.Text, " ", "")
End If
End Select
End Function
 

manu cho

XLDnaute Nouveau
Re : Fonction personnelle "telephone"

J'avais betement oublié un else devant le if ...
Cela donne :

Function telephone(c As Range) As String
Application.Volatile
Select Case Len(c)
Case Is < 9
telephone = "Erreur!"
Case 9
telephone = "0" & c
Case 10
telephone = c
Case 14
If InStr(c.Text, "/") > 0 Then
telephone = Replace(c.Text, "/", "")
ElseIf InStr(c.Text, "-") > 0 Then
telephone = Replace(c.Text, "-", "")
ElseIf InStr(c.Text, " ") > 0 Then
telephone = Replace(c.Text, " ", "")
End If
End Select

Et tout fonctionne :)
Mil merci!
Kenavo.
 

manu cho

XLDnaute Nouveau
Re : Fonction personnelle "telephone"

Re,


En fait, en entrée j'ai dans la même colonne, 20% des numéros dans un format, 30 dans un autre etc... D'ou l'importance de reprendre dans une autre colonne, le numéro formatté tel que désiré par mon service client ...

Merci pierrejean pour ta version, je regarde de ce pas...
 

merinos

XLDnaute Accro
Re : Fonction personnelle "telephone"

C'est super comme principe: si on reste en France...

Au Luxembourg et en Allemagne, les numero de telephone sont de longeur variable:

+352 152 xxx 1 = la centrale d'une entreprise
+352.152.xxx.139 = un employé
+352.125.xx8.139 = le voisin de l'entreprise
 

jmd2

XLDnaute Accro
Re : Fonction personnelle "telephone"

Bonjour

du coup, la vraie question qualité devient : pourquoi vouloir "calibrer" les n° de téléphone ?
est-ce source de perte de temps et d'efficacité ?

(nous avons créé un logiciel de GRM gesion de la relation client. On a renoncé à calibrer les n° de tél ou de fax. Et outs les utilisateurs sont contents. Et les logiciles associés (genre fax direct par le PC) s'en contentent)

ceci dit sans diminuer en aucune façon le travail des personnes qui se creusent la tête pour répondre.
 

manu cho

XLDnaute Nouveau
Re : Fonction personnelle "telephone"

Eh bien, comment faites vous au luxembourg?
Ma problématique est liée à mon métier, je travaille pour un opérateur ... Nous sommes donc continuellement en train de manipuler des numéros de téléphone et devons pour ce faire les calibrer ...

Dans tous les cas, cette fonction va me permettre d'aider un grand nombre d'utilisateur n'ayant pas ou peu de connaissance sous Excel, d'un grand pratique! :)
 

Discussions similaires

Réponses
9
Affichages
904
Réponses
3
Affichages
320
Réponses
16
Affichages
561
Réponses
17
Affichages
845

Membres actuellement en ligne

Statistiques des forums

Discussions
312 493
Messages
2 088 956
Membres
103 990
dernier inscrit
lamiadebz