Comment extraire automatiquement les numéros de téléphone d’un texte ?

cover-extraire-numeros-telephone-texte
Partager cet article

Vous avez une difficulté pour récupérer tous les numéros de téléphone d’un ou plusieurs textes ? Je vais vous proposer une solution simple que vous pourrez réutiliser indéfiniment pour extraire automatiquement les numéros de téléphone d’un texte.

Extraire automatiquement les numéros de téléphone via Google Sheets

Google Sheets est un tableur gratuit développé par Google. Il permet de trier et classement des données pour les analyser grâce à la création de formule.

Parmi l’ensemble des fonctions et formules disponibles sur Google Sheets, nous allons utiliser les RegEx pour extraire les numéros de téléphone de plusieurs textes.

Google Sheets met à notre disposition trois fonctions RegEx (expressions régulières)

  • REGEXMATCH : Pour trouver une correspondance dans une cellule ;
  • REGEXEXTRACT : Pour extraire du contenu dans une cellule ;
  • REGEXREPLACE : Pour remplacer une valeur par une autre ;

Pour notre problématique d’extraction de numéros de téléphone, nous allons utiliser la fonction REGEXEXTRACT.

Je vais vous présenter deux RegEx, une première pour extraire un seul numéro de téléphone (au format FR) et une deuxième qui permet d’extraire tous les numéros sous plusieurs formats.

Une RegEx pour extraire un numéro de téléphone d’une cellule

Il existe plusieurs solutions pour créer une formule pour extraire les numéros de téléphone sur Google Sheets. Mais voici celle que j’utilise :


=REGEXEXTRACT(XX;"\+?\d{1,8}?[-.\s]?\(?\d{1,8}?\)?[-.\s]?\d{1,4}[-.\s]?\d{1,4}[-.\s]?\d{1,4}[-.\s]?\d{1,9}")

Pensez à changer la valeur XX par la cellule qui contient le texte dont vous voulez récupérer le numéro de téléphone.

Ici la formule a été conçue pour extraire un numéro de téléphone Français sous un format classique comme celui-ci : 0678964020 (s’il y a des espaces entre les chiffres la formule fonctionnera quand même).

Une RegEx pour extraire plusieurs numéros de téléphone d’une cellule

Il existe parfois des situations plus complexes ou l’on souhaite extraire plusieurs numéros de téléphone d’un texte. Pour cela, j’ai créé une deuxième formule pour voir plus large avec différente variante dans l’écriture de numéros de téléphone français.


=ARRAYFORMULA(TEXTJOIN(" ";VRAI;SIERREUR((REGEXEXTRACT(SPLIT(XX;" ");"\+?\d{1,8}?[-.\s]?\(?\d{1,8}?\)?[-.\s]?\d{1,4}[-.\s]?\d{1,4}[-.\s]?\d{1,4}[-.\s]?\d{1,9}")))))

Là aussi pensez à changer la valeur XX par le nom de la cellule qui contient les valeurs que vous souhaitez extraire.

Cette formule permettra d’extraire des numéros avec des formats particuliers comme 06.78.96.40.20 ou +3306784523 ou 06-23-45-23-23

Avec ces deux formules, vous allez pouvoir récupérer facilement et automatiquement les numéros de téléphone présents dans un texte. Vous pouvez bien évidemment les modifier en fonction de votre besoin d’extraction.

Séparer plusieurs résultats d’une même cellule

Si vous utilisez la deuxième RegEx, vous allez avec plusieurs numéros de téléphone séparé par un espace dans une même cellule.

Le premier réflexe que l’on a en voyant cela, c’est de se dire qu’il faut séparer ces résultats pour n’avoir qu’un seul numéro de téléphone dans une cellule.

Il existe deux solutions, soit vous souhaitez séparer vos résultats sur plusieurs cellules horizontalement ou sur plusieurs cellules verticalement.

Pour séparer une cellule horizontalement (sur une ligne)

On va utiliser une fonction très simple qui se nomme SPLIT

Si vous souhaitez séparer toutes les adresses mails des résultats de la cellule sur une même ligne, vous pouvez utiliser la fonction SPLIT sur Google Sheets.


=SPLIT(A1;" ")

Le premier paramètre de la fonction correspond à la cellule que vous voulez split et le second au délimiteur. C’est-à-dire quel(s) caractère(s) utiliser pour séparer le texte et donc votre résultat. Dans notre exemple le délimiteur est un espace donc tape un espace entre les guillemets.

google-sheets-extraire-numero-telephone-split

Pour séparer une cellule verticalement (sur une colonne)

On va utiliser la même fonction que pour la disposition horizontale en ajoutant la fonction TRANSPOSE pour transposer les valeurs dans une seule colonne.


=TRANSPOSE(SPLIT(A1;" ")) 

D’autres solutions pour extraire des numéros de téléphone d’un texte

Si vous souhaitez utiliser des solutions en ligne pour extraire des numéros de téléphone d’un texte voici deux exemples d’outils que vous pouvez utiliser :

Voilà, vous savez désormais comment extraire automatiquement les numéros de téléphone d’un texte !

Antoine Moulard
Antoine Moulard

N'hésitez pas à me contacter si vous avez des remarques ou des questions sur cet article. LinkedIn

Consulter d'autres articles

Vos commentaires

Pour les visiteurs de l'UE, le widget "Commentaires Facebook" ne fonctionnera que pour les visiteurs du site qui se sont connectés à Facebook et ont accepté les cookies.

Si vous souhaitez commenter cet article, je vous invite à vous connecter à votre compte Facebook pour voir apparaître le widget "Commentaires Facebook".

Pour en savoir plus sur moi !

photo-profil-am-cercle

N'hésitez pas à vous abonner 🤙