Aide sur formule Excel chaines de caractères

1

Bonjour à tous,

J'aurai besoin de votre aide sur une formule excel.

Voici mon besoin :
J'ai un fichier excel avec deux colonnes : 

  • Objet
  • Adresse mails

Dans la colonne objet il y a du texte et je souhaiterais ressortir un élément précis, je m'explique : 

Exemple :
Ligne 1 = Copie facture P111111 client pompom
Ligne 2 = Re relance C000000 damine
Ligne 3 = M999999 blala confirmation

Je voudrais utiliser une formule me permettant de récuperer les info suivantes (correspondant au code client commençant par une lettre et 6 ou 7 chiffres.

Voici le résultats que j'aimerai obtenir :
Ligne 1 = P111111
Ligne 2 = C000000
Ligne 3 = confirmation

Par avance merci :-)
Je ne maîtrise pas VBA.
Bonne soirée.
Mélissa

Posté le 16 octobre 2014, 20:18
par MELISS
Répondre
2

Excel propose quelques fonctions permettant de récupérer des sous-chaîne de caractère (LEFT, RIGTH, SEARCH, FIND...) mais ça n'est pas très pratique. Il n'existe aucune fonction native permettant d'utiliser les expressions régulières pour extraire des informations depuis la chaîne de caractère.

Mais on peut ajouter le support des Regex en utilisant une macro VBA comme celle que j'ai trouvé ici : http://stackoverflow.com/questions/4556910/how-do-i-get-regex-support-in-excel-via-a-function-or-custom-function

On peut alors utiliser une fonction pour extraire les informations, par exemple :
Ligne 1 : =RegExExtract(".*(P[0-9a-z]+).*";A1;"$1")
Ligne 2 : =RegExExtract(".*(C[0-9a-z]+).*";A2;"$1")
Ligne 3 : =RegExExtract(".*(M[0-9a-z]+).*";A3;"$1")

Voici un classeur excel d'exemple : http://finalclap.free.fr/CDN/engalere-excel/q681-regex-extract-vba.xlsm

Attention, il contient une macro, il faut penser à activer les macro si excel les a bloqué (en cliquant sur la barre qui s'affiche normalement en haut du classeur).

Vince Posté le 17 octobre 2014, 20:11
par Vince
  • Bonsoir Merci infiniment. Je vais texter. Bonne soirée – 17 octobre 2014, 20:23

Si vous n'êtes pas inscrit sur le site, vous pouvez poster librement (en tant qu'invité).
Pour cela, indiquez un pseudonyme (nom d'utilisateur) et une adresse email :