XL 2019 Uniformisation des numéros de téléphone

dudule47

XLDnaute Nouveau
Bonjour à tous,
Je viens vous soumettre un petit problème que je rencontre. Je manipule souvent, des fichiers excel avec des colonnes contenant des numéros de téléphone, mon problème est que ces numéros sont parfois avec l'indicatif international parfois sans, il y a des numéros étrangers, exemple, je peux avoir pour un numéro français +33123456789, ou 33123456789, ou 123456789, mais aussi des numéros de certains département d'outre mer, comme +596696123456, ou 696123456.
Je voudrais uniformiser tous les numéros français sous la forme 0000000000, et conserver les numéros étrangers.
Je ne sais pas si j'étais clair.......

actuellement je le fais par un tri, puis convertir pour enlever les indicatifs des numéros français, et concatener pour ajouter le 0, cette opération est fastidieuse et longue.......

J'ai aussi essayé la fonction =droite(), qui permet de mettre tous les numéros à 9 chiffres, puis après je peux rajouter le 0, le problème est que ca s'applique aussi au numéro étranger, et du coup ça fausse le résultat.....

Je regarde ici et là pour trouver une solution automatiser, j'ai bien penser au macro, mais chaque fichier est différent donc ma macro ne s'applique pas correctement.
Je sais qu'il y a VBA et des codes, mais je ne m'y connais pas.......
Y aurait il une âme charitable pour se pencher sur mon problème.
Merci
 
Dernière édition:
Solution
bonjour le fil
tous ces fils amène de la confusion
effectivement la remarque de franch55 est très juste et son classeur du post31 pourrait totalement vous convenir.
pour ce qui me concerne je vous post un classeur qui reprend celui du post33 mais réduit à sa plus simple expression sans la colonne Français
bref
vous devriez avoir deux solutions qui correspondent à votre problématique
cordialement
galougalou

fanch55

XLDnaute Barbatruc
Salut,
Fait sur la base du fichier fourni .
Essayez avec la formule :
=SI(ESTNA(RECHERCHE(CNUM(GAUCHE(A2;NBCAR(A2)-9));Indic));A2;CONCATENER("0";DROITE(A2;9)))

Indic étant le nom de la plage où vous stockerez les Indicateurs "Français" :
33​
590​
594​
596​
508​
681​
687​
689​
1588853356066.png
 

Pièces jointes

  • Telephone.xlsx
    11.3 KB · Affichages: 10
Dernière édition:

GALOUGALOU

XLDnaute Accro
re le fil
pour compléter la solution du #22 et répondre à la demande de dudule47
création d'une feuille liste pour référencer l'ensemble des indicatifs (proposé au #5)
une formule en colonne B pour écrire Français récupéré par la formule du #22
Enrichi (BBcode):
=SI($A2>1;SI(OU(NB.SI(liste!$A$2:$A$30;GAUCHE($A2;2));NB.SI(liste!$A$2:$A$30;GAUCHE($A2;3));NB.SI(liste!$A$2:$A$30;GAUCHE($A2;4)))=VRAI;"Français";"");"")
cordialement
galougalou
 

Pièces jointes

  • Copie de telephone v3.xlsx
    14.6 KB · Affichages: 9

dudule47

XLDnaute Nouveau
Bonjour, je reviens vers vous, les solutions proposés fonctionnent, en fonction des scénarios, et cela pour une cellule, comment l'appliquer à toutes la colonne, car lorsque je clique sur le coin droit de la cellule obtenue, excel n'applique pas a la colonne de gauche, il affiche la cellule avec +1 ce qui n'est pas bon. si vous avez une idée......... merci
 

GALOUGALOU

XLDnaute Accro
bonjour le fil
j'ai comme franch 55 je ne comprends pas la demande

une réponse théorique pour le classeur du fil 33

la formule de la colonne B fait référence à la colonne A
la formule de la colonne E fait référence à la colonne A
d'ailleurs je viens de voir une coquille remplacer la formule de la colonne E par
VB:
=SI(B2="Français";DROITE(A2;9);A2)*1
les formules sont posées sur la ligne 2 et étirées sur toute la colonne (sur la plage souhaitée)

donc basiquement, les téléphones sont sur la colonne A
la colonne B affiche français si le n° de téléphone est identifié comme cela grâce à la feuille liste.
la colonne E affiche le n° de téléphone formaté en fonction de l'indicatif

si dans le classeur réel, les colonnes ne sont pas à la même place, il faut adapter toutes les formules.
cordialement
galougalou
 

fanch55

XLDnaute Barbatruc
Dans ma solution,

La colonne Français est ignorée car considérée comme présente uniquement dans le fichier de test .

La seule chose à préciser dans la formule est la position du numéro original sur la même ligne .
Il faut cependant créer une Zone nommée ( ou table ) avec les indicatifs que l'on considère Français .

Un étirement physique vers le bas ou le haut de la même colonne ne devrait pas poser problème.
Si par ailleurs le tableau est une table structurée, tout ajout de nouvelle lignes devrait automatiquement reporter la formule .

Dans le cas d'un étirement vers la gauche ou droite ( je ne saurai dire pourquoi),
faire précéder le nom de colonne par un $ (A3 ==> $A3)

Il est vrai que la formule est brute de fonderie et ne teste pas si la cellule de référence est vide mais je me suis attaché à la fonction plutôt qu'au cosmétique ;) .
 

dudule47

XLDnaute Nouveau
Bonjour,
je ne comprends pas la demande,
c'est avec quelle solution ?
Bonjour désolé pour le retard, je ne suis pas en métropole, il y a un décalage horaire. Oui dans l'exemple que j'avais fourni pour une meilleur compréhension j'avais rajouter la colonne avec le nom du pays, mais en réalité elle n'existe pas. j'ai testé la solution #21 et #28, combiné dans un même code, elles s'appliquent bien, toutefois les numéros sans préfixe donc à 9 chiffres, reste tel quel, et je n'arrive pas à appliqué à toutes la colonne, en étirant vers le bas le résultat n'est pas correct. Ta solution Fanch55 fait référence à la colonne Français qui n'existe pas, et je t'ai induis en erreur. Quoi qu'il en soit je vous remercie pour les réponses données et les recherches que vous faites, c'est appréciable pour un novice.....
 

GALOUGALOU

XLDnaute Accro
bonjour le fil
tous ces fils amène de la confusion
effectivement la remarque de franch55 est très juste et son classeur du post31 pourrait totalement vous convenir.
pour ce qui me concerne je vous post un classeur qui reprend celui du post33 mais réduit à sa plus simple expression sans la colonne Français
bref
vous devriez avoir deux solutions qui correspondent à votre problématique
cordialement
galougalou
 

Pièces jointes

  • Copie de Copie de telephone v4.xlsx
    14.2 KB · Affichages: 13

dudule47

XLDnaute Nouveau
bonjour le fil
tous ces fils amène de la confusion
effectivement la remarque de franch55 est très juste et son classeur du post31 pourrait totalement vous convenir.
pour ce qui me concerne je vous post un classeur qui reprend celui du post33 mais réduit à sa plus simple expression sans la colonne Français
bref
vous devriez avoir deux solutions qui correspondent à votre problématique
cordialement
galougalou
Merci Galougalou, je télécharge le fichier et je le teste dans la journée pour moi et la soirée voir nuit pour vous et je vous dis ça demain
 

dudule47

XLDnaute Nouveau
bonjour le fil
tous ces fils amène de la confusion
effectivement la remarque de franch55 est très juste et son classeur du post31 pourrait totalement vous convenir.
pour ce qui me concerne je vous post un classeur qui reprend celui du post33 mais réduit à sa plus simple expression sans la colonne Français
bref
vous devriez avoir deux solutions qui correspondent à votre problématique
cordialement
galougalou
Bon je n'ai pas attendu, ça fonctionne bien merci, génial........... merci à tous les contributeurs qui ont pris part à cette discussion, au plaisir de vous relire, et de profiter de vos connaissances.
 

Discussions similaires

Statistiques des forums

Discussions
315 093
Messages
2 116 140
Membres
112 669
dernier inscrit
Guigui2502