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

jmfmarques

XLDnaute Accro
oui je te l'accorde mais visiblement sa liste est française
donc quelque soit le format
on uniformise (suppression de séparateur quel qu'il soit) et on tape le droite 9 et on préfixe du"0"
si il y a des numéro autre que FR il peut abandonner l'idée tout de suite
voilà ce que je lis :

parfois avec l'indicatif international parfois sans, il y a des numéros étrangers

pour les étrangers je souhaite les laisse tel quel.
 

dudule47

XLDnaute Nouveau
oui en effet c'est ça, après si ce n'est pas possible, je poursuivrai manuellement. Je consulte souvent ce forum en visiteur, c'est la première fois que je poste, afin de bénéficier de l'expérience de chacun, en aucun cas je ne veux poser de problème. Si ce n'est pas possible, je clos le sujet.
 

jmfmarques

XLDnaute Accro
Si ce n'est pas possible, je clos le sujet
la seule chose qui serait possible, sans aucune faille, serait de limiter les "corrections" aux seuls numéros ne laissant absolument aucun doute :
numéros commençant par + -->>
- corriger les +33, +590, +594, +596, etc ... en 0 laisser intacts les autres
- "marquer" comme on l'entend (pour signifier que fait et ne pas y revenir)
intervenir manuellement sur les autres (si l'oeil humain peut en déterminer l'origine)
 

dudule47

XLDnaute Nouveau
c
la seule chose qui serait possible, sans aucune faille, serait de limiter les "corrections" aux seuls numéros ne laissant absolument aucun doute :
numéros commençant par + -->>
- corriger les +33, +590, +594, +596, etc ... en 0 laisser intacts les autres
- "marquer" comme on l'entend (pour signifier que fait et ne pas y revenir)
intervenir manuellement sur les autres (si l'oeil humain peut en déterminer l'origine)
Ça serait déjà un bon début, si ca me laisse peut de chose à traiter c'est jouable
 

dudule47

XLDnaute Nouveau
donc je comprends bien, seuls les numéros commençant par un caractère spécial en l'occurence ici "+", pourrait entrer dans ton raisonnement, si j'ai un numéro sans le "+" mais avec l'indicatif, c'est plus aléatoire d'après ce que tu dis.
 

GALOUGALOU

XLDnaute Accro
bonjour dudule47 bonjour le fil bonjour le forum
en supposant un travail préparatoire qui identifie les n° français comme dans votre fichier du #15 (après un tri des n° de téléphone par exemple et identifiant en colonne B "Français")
dans le fichier exemple en formatant la colonne E au n° de téléphone
je vous propose cette solution par formule


Enrichi (BBcode):
=SI(B2="Français";DROITE(A2;9);C2)*1
cordialement
galougalou
 

Pièces jointes

  • telephone.xlsx
    9.9 KB · Affichages: 8

dudule47

XLDnaute Nouveau
bonjour dudule47 bonjour le fil bonjour le forum
en supposant un travail préparatoire qui identifie les n° français comme dans votre fichier du #15 (après un tri des n° de téléphone par exemple et identifiant en colonne B "Français")
dans le fichier exemple en formatant la colonne E au n° de téléphone
je vous propose cette solution par formule


Enrichi (BBcode):
=SI(B2="Français";DROITE(A2;9);C2)*1
cordialement
galougalou
la colonne pays n'existe pas, je l'ai mise pour illustrer ma demande, en temps normal elle n'est pas présente
 

jmfmarques

XLDnaute Accro
Voir ce que fait (et l'adapter à son gré) ce petit exemple, avec des numéros de téléphone en colonne A
VB:
For k = 1 To 3
  ch = Range("A" & k).Value
  Select Case Left(ch, 1)
    Case Is = "+"
    If ch Like "+33*" Then
      ch = "'0" & Mid(ch, 4)
    Else
      Select Case Left(ch, 4)
        Case "+590", "+594", "+596", "+508", "+681", "+687", "+689"
          ch = "'0" & Mid(ch, 5)
      End Select
    End If
  End Select
  Range("A" & k).Value = ch
Next
 

dudule47

XLDnaute Nouveau
Voir ce que fait (et l'adapter à son gré) ce petit exemple, avec des numéros de téléphone en colonne A
VB:
For k = 1 To 3
  ch = Range("A" & k).Value
  Select Case Left(ch, 1)
    Case Is = "+"
    If ch Like "+33*" Then
      ch = "'0" & Mid(ch, 4)
    Else
      Select Case Left(ch, 4)
        Case "+590", "+594", "+596", "+508", "+681", "+687", "+689"
          ch = "'0" & Mid(ch, 5)
      End Select
    End If
  End Select
  Range("A" & k).Value = ch
Next
Merci je vais tester cette solution, merci encore
 

Discussions similaires

Statistiques des forums

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