Extraire un nombre non fini d'une chaine de texte variable [Résolu/Fermé]

Signaler
Messages postés
3524
Date d'inscription
jeudi 6 août 2009
Statut
Membre
Dernière intervention
11 juillet 2020
-
Messages postés
3524
Date d'inscription
jeudi 6 août 2009
Statut
Membre
Dernière intervention
11 juillet 2020
-
Bonjour,

mon titre ne vous dis peut-être pas grand chose, mais je cherche sous Excel comment extraire d'une chaine alphanumérique variable un nombre qui est lui-même variable. En fait, il s'agit d'extraire de ma comptabilité les numéros de facture qui sont, selon les entreprises, d'une suite de plusieurs numéros et non connus à l'avance! Est-ce qu'une formule Excel (une combinaison à mon avis) peut faire cela?

J'ai tenté plusieurs essais comme compter le nombre de caractères en partant de la gauche jusqu'au mot "facture" et de faire pareil en commençant à droite mais jusqu'au Slash ("/"), mais j'ai une erreur


7 réponses

Bonsoir,

L'idée y est, pouvez-vous montrer votre formule ainsi que l'erreur affichée.

Ces erreurs indiquent en général le problème spécifique.

Cordialement.
Messages postés
3524
Date d'inscription
jeudi 6 août 2009
Statut
Membre
Dernière intervention
11 juillet 2020
1 774
Bonjour, merci à vous pour votre intéressement à mon problème. J'ai essayé la formule =STXT(B4;NBCAR("facture ");NBCAR(B4)-GAUCHE(NBCAR("Facture ")))-DROITE(B4;NBCAR("/")) qui renvoie une erreur du type #valeur

J'ai aussi essayé =STXT(B4;NBCAR("facture ");NBCAR(B4)-GAUCHE(NBCAR("Facture "))) qui marche assez bien mais qui ne donne pas exactement ce que je veux! Elle donne 101201/Cor


J'ai dans ma comptabilité des libellé du type Facture + N°facture / Tiers (ex : Facture 101201/Cora pour la facture 101201 de Cora)
Messages postés
23807
Date d'inscription
mardi 11 septembre 2007
Statut
Contributeur
Dernière intervention
18 janvier 2021
6 574
Bonsoir,

donne des exemples précis représentant les différent cas ainsi que le résultat attendu.
Dépose le fichier sur cjoint.com et colle ici le lien fourni.

eric
Messages postés
3524
Date d'inscription
jeudi 6 août 2009
Statut
Membre
Dernière intervention
11 juillet 2020
1 774
Bonjour, tu trouveras mon fichier ici

J'ai mis dedans ce que je voudrais

En fait, je n'arrive pas à traduire en formule ce que je voudrais qu'Excel fasse car le slash ("/") n'est pas reconnu comme un caractère!
Messages postés
23807
Date d'inscription
mardi 11 septembre 2007
Statut
Contributeur
Dernière intervention
18 janvier 2021
6 574
Bonjour,

Si ton n° de facture fait toujours 6 caractères comme c'est le cas sur ton exemple alors :
=SI(GAUCHE(B4;7)="Facture";STXT(B4;9;6);"")
eric

En plus du merci (si si, ça se fait !!!), penser à mettre en résolu (en haut vers votre titre) lorsque c'est le cas. Merci
Messages postés
2426
Date d'inscription
mercredi 3 février 2010
Statut
Membre
Dernière intervention
18 janvier 2021
920
Bonjour,

Il faut toujours rechercher quels sont les éléments constants par rapport à l'extrait désiré.
Pour "travailler" un texte il faut ajouter au fonctions déjà citées CHERCHE(ou TROUVE) et SUBSTITUE.
Le libellé "Facture 101201/Cora" est en F2
=CHERCHE("/";F2) renvoie 15 comme position du /
=CHERCHE(" ";F2) renvoie 8 comme position de l'espace (CAR(32))
=GAUCHE(F2;CHERCHE("/";F2)-1) renvoie "Facture 101201"
=STXT(GAUCHE(F2;CHERCHE("/";F2)-1);CHERCHE(" ";F2)+1;30) renvoie "101201" (30 est un majorant généreux du nombre de chiffres)

Si le libellé comporte plusieurs espaces et qu'il faut rechercher le deuxième ; exemple: "Facture de 101201/Cora et Cora"
on utilise Substitue: =SUBSTITUE(F2;" ";"|";2) renvoie "Facture de|101201/Cora et Cora"
La formule devient =STXT(GAUCHE(F2;CHERCHE("/";F2)-1);CHERCHE("|";SUBSTITUE(F2;" ";"|";2))+1;30)
Messages postés
3524
Date d'inscription
jeudi 6 août 2009
Statut
Membre
Dernière intervention
11 juillet 2020
1 774
Bonjour Eriic et tontong, merci pour vos propositions!

La formule proposée par Eriic est assez simple!

Et surtout merci tontong pour ta formule avec les explications qui vont avec, c'est exactement ce genre de discours qu'il faut pour que je comprenne ce que je vais obtenir avec des formules que je connais peu!

Ce qui est parfait, c'est que quand j'ai un avoir noté AVXXX en général, Excel m'extrait les bon numéros!

Merci pour votre aide!