Extraire chiffres et lettres

Bonjour,

Je voudrais faire une nouvelle extraction.

Dans une liste de références comportant des chiffres et des lettres mélangés, je voudrais obtenir les chiffres et les lettres de la partie située entre les deux tirets.

Merci de vos réponses

image

Hello,

Pour les chiffres :

=JOINDRE.TEXTE(" "; VRAI; REGEX.EXTRAIRE(TEXTE.AVANT(TEXTE.APRES(A4; "-"); "-"); "\d+"; 1))

Pour les lettres :

=SUPPRESPACE(REGEX.REMPLACER(TEXTE.AVANT(TEXTE.APRES(A4; "-"); "-"); "\d+"; ""))

@+

Hello,

pour les nombres :

=REGEXEXTRAIRE(TabRéférences[@Référence];"-.*?(\d+).*?-")

pour les lettres :

=REGEXEXTRAIRE(TabRéférences[@Référence];"-.*?([A-Za-z/]+).*?-")

Ami calmant, J.P

Bonjour à tous,

Merci de vos réponses rapides,

BAROUTE78 : ça fonctionne, quelle est le rôle du JOINDRE.TEXTE ?

Jurassic Pork : il y a une erreur sur le nom de la fonction, mais même en remplaçant par REGEX.EXTRAIRE, ça ne fonctionne pas, je récupère tout le texte entre les tirets

Hello,

En fait je n'ai pas Excel 365 et j'avais essayé avec un complément avec des fonctions Regex mais qui n'a pas tout à fait la même syntaxe que les fonctions d'Excel 365 . Je viens d'essayer avec Excel 365 Online les formules sont :

pour les nombres :

=REGEX.EXTRAIRE(TabRéférences[@Référence];"-.*?(\d+).*?-";2)

pour les lettres :

=REGEX.EXTRAIRE(TabRéférences[@Référence];"-.*?([A-Za-z/]+).*?-";2)
regexproje

Ami calmant, J.P

Hey,

BAROUTE78 : ça fonctionne, quelle est le rôle du JOINDRE.TEXTE ?

C'était pour gérer le cas où tu aurais mis : ... - 123 ABC 456 - ...

@+

Bonjour à tous,

Merci pour vos retours.

BAROUTE78 : bah non ce n'est pas prévu pour l'instant mais sait-on jamais, je tente de supprimer ce Joindre.Texte

Jurassic Pork : ok ça fonctionne bien maintenant mais j'ai vraiment du mal avec la syntaxe, j'ai bien compris que \d+ extrait les chiffres et [A-Za-z]+ extrait les lettres mais le reste ?

J'ai demandé à une I.A d'expliquer l'expression régulière car cela sera beaucoup mieux que si c'est moi qui l'explique :

🔍 Décomposition du regex

Le motif utilisé est :

Code

-.*?([A-Za-z/]+).*?-

Voici ce que chaque partie signifie :

1. -

  • Le motif commence par un tiret.
  • Cela indique que l’extraction doit commencer après un premier tiret dans le texte.

2. .*?

  • . : n’importe quel caractère
  • *? : répétition minimale (non-gourmande)
  • Cela signifie : « avancer jusqu’à trouver ce qui suit, mais en capturant le moins possible ».

3. ([A-Za-z/]+)

  • C’est le groupe capturant n°1.
  • [A-Za-z/] : une suite de lettres majuscules/minuscules ou de /
  • + : un ou plusieurs caractères
  • C’est la partie que tu veux extraire.

👉 Exemple : cela peut capturer ABC, Test, A/B, etc.

4. .*?-

  • Encore une séquence de caractères minimale
  • Jusqu’au tiret suivant

🎯 En résumé

Le regex cherche :

  • un premier -
  • puis avance jusqu’à trouver une suite de lettres ou de /
  • capture cette suite
  • puis continue jusqu’au tiret suivant

Et comme ta formule utilise ;2 à la fin, Excel renvoie le contenu du groupe capturé, c’est‑à‑dire ce qu’il y a dans ([A-Za-z/]+).

bonsoir

du rustique qui pique ;;;; pour le sport

cordialement

0roje.xlsx (12.26 Ko)
Rechercher des sujets similaires à "extraire chiffres lettres"