Extraire une chaîne de caractères qui sont bornés

Bonjour à tous.

Dans un premier temps je tiens vraiment à remercier tous les intervenants sur ce forum car vous m'avez "sauvé" à plusieurs reprises.

Aujourd'hui mon boss me balance le planning des commerciaux sous excel et fait moi des stats avec ça.... J'ai cherché sur google, dans les forums, essayé de convertir ma colonne, travaillé avec la fonction STXT, mais j'ai rien obtenu.

J'ai besoin de pouvoir extraire les données d'une chaîne de caractères qui sont toujours bornés par ** (ce sont mes codes clients)

exemple : dlkghslgdfkgh**09485435**jlkqgjgmqkldjmqkl

Le résultat voulu serait 09485435, le reste j'en ai rien a faire.

A savoir que mes ** ne sont pas toujours au même endroit et que le résultat doit être en format texte car souvent il commence par un 0

j'ai mi en exemple un fichier

Merci pour votre aide.

Eddie

Bonjour,

As-tu essayé la méthode suivante ?

Sélectionner la colonne où tu as toutes tes données, aller dans Donées > Convertir - Délimité > Autre : * > Terminer

Ca va te permettre de séparer les chaînes de caractère et tu vas savoir récupérer la partie centrale.

Cordialement

Bonjour,

Si le code client est toujours en 10 chiffres, ceci devrait suffire:

=STXT(A1;TROUVE("**";A1)+2;10)

Bonjour,

As-tu essayé la méthode suivante ?

Sélectionner la colonne où tu as toutes tes données, aller dans Donées > Convertir - Délimité > Autre : * > Terminer

Ca va te permettre de séparer les chaînes de caractère et tu vas savoir récupérer la partie centrale.

Cordialement

Merci Sharney, oui j'ai essayé mais c'est un peu éparpiller partout vu que la chaine de caractère n'est pas forcement a endroit fixe. A la fin je dois ligne a ligne aller chercher les infos, donc vraiment pas pratique.

Bonjour,

Si le code client est toujours en 10 chiffres, ceci devrait suffire:

=STXT(A1;TROUVE("**";A1)+2;10)

Merci U. Milité, ça ce rapproche plus de ce que je cherche.

Voici un exemple avec ta formule des résultats :

0130300130

0139044

Est ce que l'on peux affiner maintenant que l'on lui a dit de commencer avec les ** de lui dire d’arrêter au ** suivante ?

Merci

Eddie

Re-bonjour,

On peut peut-être faire plus court, mais essaie avec

=STXT(A1;TROUVE("**";A1)+2;TROUVE("**";A1;TROUVE("**";A1)+3)-TROUVE("**";A1)-2)

Bonjour toutes et tous

méthode enregistreur de macro, Données...

en suivant les conseils de Sharney

coucous en passant à toutes et tous

un aperçu ci-joint

Note : colonne A chaines extraites

crdlt,

André

Bonjour,

la formule doit suffire, donc c'est parfait

mais n'oubliez pas la méthode plus polyvalente qui est d'utiliser les regex

Bonjour à tous ...

voici ma contribution alternative

Bonjour,

la formule doit suffire, donc c'est parfait

mais n'oubliez pas la méthode plus polyvalente qui est d'utiliser les regex

coucou Steelson

si je comprend, n'hésites pas à me reprendre

Exemple : si la colonne A les cellules sont en format standard ou texte cela peut varié ? donc éviter le VBA ? et de trouver une formule ou (alimenter par une function)

j'ai regardé un peu sur les REGEX mais je t’avoue je pige pas encore le truc

merci en tout cas, on en apprend tout les jours ^^

crdlt,

André

Bonjour,

Une autre proposition pour Excel 2016 (Power Query).

A te relire pour un complément d'informations.

Cdlt.

j'ai regardé un peu sur les REGEX mais je t’avoue je pige pas encore le truc

merci en tout cas, on en apprend tout les jours ^^

André,

c'est très puissant, mais pas forcément facile à produire le "pattern"

https://www.sheets-pratique.com/fr/fonctions/regexmatch

Re-bonjour,

On peut peut-être faire plus court, mais essaie avec

=STXT(A1;TROUVE("**";A1)+2;TROUVE("**";A1;TROUVE("**";A1)+3)-TROUVE("**";A1)-2)

Merci U. Milité, avec ta formule ca marche.

Bonjour,

Une autre proposition pour Excel 2016 (Power Query).

A te relire pour un complément d'informations.

Cdlt.

TEST CHAINE CARACTERE.xlsx

Merci Jean-Eric, effectivement tu arrives au résultat voulu mais je ne sais pas comment tu y es arrivé. Je vais me pencher sur Power Query ca a l'air d’être un bon outil.

Merci

Eddie

Re,

Si tu le souhaites, je peux de faire un petit tuto.

La manip. ne prend que quelques secondes.

Cdlt.

Bonjour

avec une boucle

A voir

Sub Convert()
    For L = 1 To 16
        StrTemp = Replace(Range("A" & L).Value, "**", "*")
        Range("B" & L).Value = Split(StrTemp, "*")(1)
    Next
End Sub

A+

Maurice

Bonjour,

Si tu le souhaites, je peux te faire un petit tuto

... Et on a le droit de répondre à la place de qboullier ? Moi je veux bien quelques explications (dans les grandes lignes!)

Mais rien ne presse: je compte profiter pleinement de ce beau soleil, avant tout !

Bonjour,

Un début d'explications dans le fichier joint.

Cdlt.

Bonjour toutes et tous et bon week-end,

Merci Jean-Eric, snif! j'ai voulu réalisé cela sur l'onglet 2 j'ai juste réalisé le tableau mais,

à partir de 2 :

Données, Récupérer et transformer, A partir d'un tableau je ne trouve pas Récupérer et transformer

, petit hic! j'ai une version Excel 2007 sans doute à cause de cela ou dans Options Excel regarder si je trouve quelque chose dans le menu Données

merci en tout cas

crdlt,

André

Bonjour,

@ André,

Power Query est disponible pour les versions 2010 et 2013. C'est un complément (add-in) Microsoft gratuit à télécharger.

Il est intégré à Excel 2016 (Récupérer et transformer).

Ta version 2007 ne permet donc pas d'en profiter!..

Tu dois migrer vers une version plus récente d'Excel.

Cdlt.

Rechercher des sujets similaires à "extraire chaine caracteres qui bornes"