Excel : isoler une suite de caractères au milieu d'autres

Muspellheim56 Messages postés 1 Date d'inscription lundi 17 septembre 2012 Statut Membre Dernière intervention 6 juin 2024 - 6 juin 2024 à 11:25
danielc0 Messages postés 968 Date d'inscription mardi 5 juin 2018 Statut Membre Dernière intervention 19 juillet 2024 - 6 juin 2024 à 18:59

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

A voir également:

5 réponses

DjiDji59430 Messages postés 4085 Date d'inscription samedi 19 avril 2008 Statut Membre Dernière intervention 19 juillet 2024 660
6 juin 2024 à 16:34

Bonjour à tous,

et tout betement

=STXT(A1;CHERCHE("-";A1)-7;13)

Non ?

yclik Messages postés 3633 Date d'inscription vendredi 25 juillet 2014 Statut Membre Dernière intervention 15 juillet 2024 1 494
6 juin 2024 à 11:35

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".

brucine Messages postés 15849 Date d'inscription lundi 22 février 2021 Statut Membre Dernière intervention 19 juillet 2024 2 199
6 juin 2024 à 11:49

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

1
danielc0 Messages postés 968 Date d'inscription mardi 5 juin 2018 Statut Membre Dernière intervention 19 juillet 2024 96 > brucine Messages postés 15849 Date d'inscription lundi 22 février 2021 Statut Membre Dernière intervention 19 juillet 2024
6 juin 2024 à 18:51

Bonjour,

Insider beta ?

Daniel

0
brucine Messages postés 15849 Date d'inscription lundi 22 février 2021 Statut Membre Dernière intervention 19 juillet 2024 2 199 > danielc0 Messages postés 968 Date d'inscription mardi 5 juin 2018 Statut Membre Dernière intervention 19 juillet 2024
6 juin 2024 à 18:56

Bonjour,

Je ne sais pas, peut être: je ne peux de toute façon pas tester, je n'ai pas 365.

0
eriiic Messages postés 24585 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 27 juin 2024 7 227
Modifié le 6 juin 2024 à 12:25

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...
eric

PS : augmenter le 20 de 1:20 si le début peut être plus loin


via55 Messages postés 14445 Date d'inscription mercredi 16 janvier 2013 Statut Membre Dernière intervention 18 juillet 2024 2 721
6 juin 2024 à 14:01

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
danielc0 Messages postés 968 Date d'inscription mardi 5 juin 2018 Statut Membre Dernière intervention 19 juillet 2024 96
Modifié le 6 juin 2024 à 19:00

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