Excel : isoler une suite de caractères au milieu d'autres
danielc0 Messages postés 2198 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
J'ai une liste de cellules sous forme de colonne avec tout le texte contenu d'un PDF (doc confidentiel). Extraction faite du PDF par un CtrlA, CtrlC dans le PDF et CtrlV dans le fichier Excel.
Je souhaite extraire de cette liste une donnée qui ne se trouve pas au même endroit dans chaque cellule. Parfois il y a des caractères avant, après et pas le même nombre.
Mais ma donnée à extraire commence toujours par 3 chiffres et une lettre à suivre sans espace.
Je voudrais donc extraire cette donnée avec les critères suivants :
Ignorer les caractères avant mes 3 chiffres, si les 3 chiffres sont immédiatement suivis d'une lettre; et ne garder que les 13 caractères suivant le début de ma donnée à extraire.
Exemple: F 50 854 555ABCD-EF-01 XX ZZ
Je veux extraire 555ABCD-EF-01
Merci d'avance pour vos retours.
Emeline
5 réponses
-
Bonjour à tous,
et tout betement=STXT(A1;CHERCHE("-";A1)-7;13)
Non ?
-
Bonjour
il faudrait plus d'exemple
et éventuellement un classeur avec des exemples de données
1) Aller dans https://www.cjoint.com/
2) Cliquer sur [Parcourir] pour selectionner le fichier (15 Mo maxi)
3) Aller vers le bas pour cliquer sur le bouton bleu [Creer le lien Cjoint]
4) Au bout de quelques secondes la seconde page s'affiche, avec le lien en gras ; faire un clic-droit dessus et choisir "Copier le lien"
5) Revenir dans la discussion sur CCM, et dans votre message faire "Coller".-
Bonjour,
semble de toute façon relativement facile dans Excel 365, plutôt difficile sinon à ma connaissance où il faut utiliser VBA ou des outils tiers permettant de mettre en place une Regex.
https://support.microsoft.com/fr-fr/office/regextest-fonction-7d38200b-5e5c-4196-b4e6-9bff73afbd31
-
-
Bonjour à tous,
=GAUCHE(STXT(A2;CHERCHE(1111;CONCAT(SI(STXT(A2;LIGNE(1:20);1)>" ";1;0)));50);CHERCHE(" ";STXT(A2;CHERCHE(1111;CONCAT(SI(STXT(A2;LIGNE(1:20);1)>" ";1;0)));50))-1)mais sur un seul exemple pas dit que ce soit suffisant...
ericPS : augmenter le 20 de 1:20 si le début peut être plus loin
-
Bonjour
A l'aide de la fonction personnalisée suivante :
https://www.cjoint.com/c/NFgmaScPJnQ
Cdlmnt
Via
-
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question -
Bonjour à tous,
En complément de la réponse de DjiDji59430, si la longueur de la chaîne à extraire est variable :
Avec Excel 365 :
=INDEX(FRACTIONNER.TEXTE(A1;" ");4)Toutes versions :
=INDEX(FILTRE.XML("<M><R>"&SUBSTITUE(A1;" ";"</R><R>")&"</R></M>";"//R");4)Daniel