Extraire uniquement les chiffres d’une cellule contenant du texte et des nombres mélangés est une tâche courante dans le traitement des données. Voici plusieurs méthodes pour y parvenir.
Excel ne fournit pas de fonction native spécifique pour extraire uniquement les chiffres, mais vous pouvez combiner plusieurs fonctions pour atteindre cet objectif.
=CONCATENER(SI(ESTNUM(DROITE(A1;1));DROITE(A1;1);"")) Formule avancée avec tableau matriciel : =CONCATENER(SI(ESTNUM(STXT(A1;LIGNE(INDIRECT("1:"&NBCAR(A1)));1));STXT(A1;LIGNE(INDIRECT("1:"&NBCAR(A1)));1);""))Explication :
STXT : Extrait un caractère spécifique dans la chaîne.ESTNUM : Vérifie si le caractère est un nombre.NBCAR : Compte le nombre total de caractères.CONCATENER : Assemble les chiffres extraits en une seule chaîne.Si vous travaillez avec de grandes quantités de données ou si vous avez besoin d’une solution flexible, une macro VBA est idéale.
Function ExtraireChiffres(Texte As String) As String
Dim i As Integer
Dim Resultat As String
Resultat = ""
For i = 1 To Len(Texte)
If Mid(Texte, i, 1) Like "[0-9]" Then
Resultat = Resultat & Mid(Texte, i, 1)
End If
Next i
ExtraireChiffres = Resultat
End Function
=ExtraireChiffres(A1)Exemple :
abc123de4, la formule renverra 1234.Power Query est idéal pour le nettoyage de données complexes.
Text.Select([Colonne], {"0".."9"})Si vous travaillez avec des scripts externes ou des outils intégrés comme Python (avec Excel), vous pouvez utiliser une expression régulière pour extraire les chiffres.
import pandas as pd
# Exemple de données
data = {"Colonne": ["abc123", "456xyz", "78&90"]}
df = pd.DataFrame(data)
# Extraire les chiffres
df["Chiffres"] = df["Colonne"].str.extract("(\d+)", expand=False)
print(df)
Si les chiffres sont séparés dans la cellule, utilisez TEXTE et EXTRAIRE pour isoler les blocs numériques.
Formule pour extraire un nombre à une position précise :
=SI(ESTNUM(STXT(A1;1;1));STXT(A1;1;1);"")
ABC1234DEF1234.$123.45ABC12345.(123) 456-78901234567890.Ces méthodes vous permettront d’extraire efficacement les chiffres de vos cellules Excel selon vos besoins.
Dans des cas où vos données nécessitent à la fois une extraction et une transformation (comme reformater les données après extraction), vous pouvez imbriquer les méthodes précédentes avec d’autres fonctions Excel ou Power Query.
Les numéros de téléphone peuvent contenir des espaces, des parenthèses ou des tirets. Voici comment extraire les chiffres et reformater le résultat.
Données source :
(123) 456-7890
Formule Excel :
=CONCATENER("(",STXT(A1;1;3),") ",STXT(A1;4;3),"-",STXT(A1;7;4))
VBA pour automatisation :
Function ExtraireNumTel(Texte As String) As String
Dim i As Integer
Dim Chiffres As String
Dim FormatTel As String
Chiffres = ""
' Extraire uniquement les chiffres
For i = 1 To Len(Texte)
If Mid(Texte, i, 1) Like "[0-9]" Then
Chiffres = Chiffres & Mid(Texte, i, 1)
End If
Next i
' Ajouter le format standard (XXX) XXX-XXXX
If Len(Chiffres) = 10 Then
FormatTel = "(" & Left(Chiffres, 3) & ") " & Mid(Chiffres, 4, 3) & "-" & Right(Chiffres, 4)
Else
FormatTel = Chiffres ' Si le format est incorrect, afficher les chiffres
End If
ExtraireNumTel = FormatTel
End Function
Utilisez la fonction dans une cellule :
=ExtraireNumTel(A1)
Résultat formaté :
(123) 456-7890
Si vos données contiennent plusieurs blocs de chiffres séparés, utilisez Power Query pour extraire chaque bloc séparément.
Données source :
Code: 123, ID: 456, Value: 789
Étapes dans Power Query :
:, , ou espace).Text.Select pour extraire uniquement les chiffres dans chaque colonne.Résultat :
123456789Données source :
Order1234Status5678
VBA Exemple :
Function ExtraireAprèsMotClé(Texte As String, MotClé As String) As String
Dim Position As Integer
Dim i As Integer
Dim Resultat As String
Resultat = ""
' Trouver la position du mot-clé
Position = InStr(1, Texte, MotClé, vbTextCompare)
If Position > 0 Then
' Extraire les chiffres après le mot-clé
For i = Position + Len(MotClé) To Len(Texte)
If Mid(Texte, i, 1) Like "[0-9]" Then
Resultat = Resultat & Mid(Texte, i, 1)
Else
Exit For ' Arrêter si un caractère non numérique est rencontré
End If
Next i
End If
ExtraireAprèsMotClé = Resultat
End Function
Utilisez cette fonction dans Excel pour extraire les chiffres après un mot-clé spécifique :
=ExtraireAprèsMotClé(A1, "Order")
Résultat :
1234
SUPPRESPACEAprès avoir extrait les chiffres, supprimez les espaces inutiles :
=SUPPRESPACE(A1)
Pour vérifier que seules des valeurs numériques sont extraites, utilisez une mise en forme conditionnelle :
=ESTNUM(A1)| Méthode | Complexité | Idéal pour |
|---|---|---|
Formule Excel (SUBSTITUE, GAUCHE) | Facile | Petits ensembles de données |
| Macro VBA | Moyenne | Automatisation répétée sur de grands ensembles |
| Power Query | Avancée | Nettoyage et transformation en masse |
| Script Python | Avancée | Analyses complexes et externes |
Deux outils concrets pour piloter la qualité sans alourdir vos équipes Cette page met à…
Un chantier se gagne souvent avant même l’arrivée des équipes. Quand tout est clair dès…
Le mariage a du sens quand il repose sur une décision libre, mûrie et partagée.…
Une étude de cas réussie commence par une structure sûre. Ce modèle Word vous guide…
Les soft skills se repèrent vite sur une fiche, mais elles ne pèsent vraiment que…
Outil de comparaison et repérage des offres étudiantes Choisir des verres progressifs ressemble rarement à…
This website uses cookies.