Fonction personnelle "telephone"

  • Initiateur de la discussion Initiateur de la discussion manu cho
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

M

manu cho

Guest
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 ? 🙂
 
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
 
Re : Fonction personnelle "telephone"

Merci !!!
C'est exactement ça !

Dernières petites questions au demeurant, comment puis-je rajouter l'équivalent de :
If InStr(c.Text, "/") > 0 Then
telephone = Replace(c.Text, "/", "")
pour "-"?

thk !
 
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.
 
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...
 
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.
 
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! 🙂
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Réponses
8
Affichages
650
  • Question Question
Microsoft 365 Programme trop lent
Réponses
12
Affichages
1 K
P
Réponses
2
Affichages
1 K
Ptrs32
P
T
  • Résolu(e)
Réponses
33
Affichages
4 K
Tontontonio
T
A
Réponses
25
Affichages
5 K
Angelzeus
A
Réponses
1
Affichages
1 K
Retour