Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

XL 2016 35 Variantes d'écriture dans un numéro de téléphone portable à harmoniser en 1 seul

Philippe Château

XLDnaute Occasionnel
Bonjour à toutes et tous,

J'ai récupéré un fichier d'une quarantaine de milliers de lignes, avec 35 variantes d'écriture du numéro de téléphone portable (et OUI pas de cadre pour obliger les gens à formaliser leur numéro de portable) ! et mon but serait pour le croiser avec un autre fichier de le rendre à 9 chiffres "699999999" (et à le rendre en format téléphone "06 99 99 99 99" pour qu'il soit lisible)

La fonction SUBSTITUE rend service mais pas totalement, lorsque l'on a un début qui commence par 0 - 33 - 330, on risque de supprimer les infos dans un numéro complet, d'où en colonne adjacente de la fonction GAUCHE + REMPLACER

N'y aurait-il pas plus simple ? de l'avis d'expert(e)s ?

J'ai été obligé de changer quelques numéros par A, question de confidentialité, car la cellule qui commence par + croit voir une valeur numérique à calculer si on change par la valeur 9 comme pour les autres cellules

Merci à toutes et tous
 

Pièces jointes

  • Classeur2.xlsx
    11.6 KB · Affichages: 25

Philippe Château

XLDnaute Occasionnel
Bonjour à vous deux

Merci de votre super réactivité, les deux fonctionnent sauf une pour R@chid (d'autant que la formule est hyper condensée, ouahh c'est époustouflant...)

+33 (0)7.99.99.99.99 (je l'ai indiquée dans mon fichier sous la forme)
+33 (0)6.AA.AA.AA.AA

et pour vous deux la cellule
+33 0(6) 99 99 99 99

Si il n'y a pas moyen, ce n'est pas grave, une grosse partie est bien résolue, et vous en remercie.
 

patricktoulon

XLDnaute Barbatruc
bonjour
ça fait pas mal de chose a supprimer
les plus courantes
=DROITE(SUBSTITUE(SUBSTITUE(SUBSTITUE(SUBSTITUE(SUBSTITUE(SUBSTITUE(SUBSTITUE(A2;" ";"");",";"");"-";"");"_";"");"+";"");".";"");")";"");9)
te reste plus qu'a appliquer le format que tu souhaite en ajoutant un "0" dans le format pour faire 10 chiffres
 

patricktoulon

XLDnaute Barbatruc
bonsoir @job75
oui les réductions par omission d'argument ça me séduit
mais je préfère donner la version intégrale pour une meilleure compréhension
sinon oui onpeut réduire a ça
Code:
=SIERREUR(CNUM(DROITE(SUBSTITUE(SUBSTITUE(SUBSTITUE(SUBSTITUE(SUBSTITUE(SUBSTITUE(SUBSTITUE(A2;" ";);",";);"-";);"_";);"+";);".";);")";);9));"no number")
 

mapomme

XLDnaute Barbatruc
Supporter XLD
Bonsoir,

Avec une fonction personnalisée dont le code est dans module1. On renvoie #REF! si ce n'est pas un numéro de téléphone. Recopier la cellule B1 vers le bas.

VB:
Function TailleTel9(ByVal x)
Dim i&, n, c
   For i = Len(x) To 1 Step -1
      c = Mid(x, i, 1)
      If c >= "0" And c <= "9" Then n = c & n
   Next i
   TailleTel9 = CLng(Right(n, 9))
   If Len(TailleTel9) <> 9 Then TailleTel9 = CVErr(xlErrRef)
End Function
 

Pièces jointes

  • Philippe Château- Num Tél- v1.xlsm
    17.3 KB · Affichages: 9

Discussions similaires

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…