Extraire un numéro avec PowerQuery

Bonjour à tous,

Me revoilà avec le 2ème post de la journée ... Intense !

Je n'arrive pas à extraire le numéro en rouge. Il peut se trouver n'importe où dans la cellule et comporte toujours le même nombre de chiffre.

Ci-joint le fichier

Merci d'avance

Bonjour de nouveau !

Si le numéro commence toujours par "0880", une proposition :

Merci de me venir en aide à chaque fois

C'est parfait, au top !

Bonjour à toutes et tous, JB, JFL,

Désolé @JB de squatter ton fil pour poser une question à @JFL

Déjà pour @JFL pourquoi ne pas mettre la condition si le numéro commence toujours par 0

let
    Source = Excel.CurrentWorkbook(){[Name="Tableau1"]}[Content],
    #"Personnalisée ajoutée" = Table.AddColumn(Source, "Personnalisé", each if Text.PositionOf([Libellé],"0")>=0 then Text.Range([Libellé],Text.PositionOf([Libellé],"0"),9) else null)
in
    #"Personnalisée ajoutée"

Ensuite, comment fais-tu pour écrire la formule dans la colonne personnalisé, je m'explique est-ce-que quand tu commence à écrire Text.PositionOf ► Power Query te propose la formule comme dans Excel, ou faut-il connaître les formules sur le bout des doigts ?

Par avance merci de ta réponse.

Cordialement.

Bonjour à tous

Déjà pour @JFL pourquoi ne pas mettre la condition si le numéro commence toujours par 0
let
    Source = Excel.CurrentWorkbook(){[Name="Tableau1"]}[Content],
    #"Personnalisée ajoutée" = Table.AddColumn(Source, "Personnalisé", each if Text.PositionOf([Libellé],"0")>=0 then Text.Range([Libellé],Text.PositionOf([Libellé],"0"),9) else null)
in
    #"Personnalisée ajoutée"

Ensuite, comment fais-tu pour écrire la formule dans la colonne personnalisé, je m'explique est-ce-que quand tu commence à écrire Text.PositionOf ► Power Query te propose la formule comme dans Excel, ou faut-il connaître les formules sur le bout des doigts ?

Il y a d'autre nombres qui ressemblent à des dates donc moi aussi je me serais méfié

A partir de 2016, à jour, on a une aide à la saisie de formules, un peu différente d'Excel mais pas sur l'add on qui n'est plus mis à jour...

Hello 78chris,

Ok merci pour la réponse avec des dates, d'ailleurs je me suis aperçu de mon erreur après coup.

Pour la 2ème réponse, Donc pas de possibilité avec mon Excel 2010, faudra donc qu'un jour j'investisse.

Merci pour les réponses.

Cordialement.

Bonjour de nouveau !

Je ne peux que plussoyer la réponse de 78chris !

Pour ce qui est des formules, outre l'aide intégrée à PQ, j'utilise le bréviaire de Microsoft (ici).

Re

Donc pas de possibilité avec mon Excel 2010, faudra donc qu'un jour j'investisse.

On en a déjà parlé ici, on peut acheter du 2019 pour 1 ou 2 € sur Rakuten entre autres

Re JFL

Oui j'avais déjà "Vue d’ensemble des fonctions Power Query M", mais c'est pas facile de s'y retrouver, il n'y a pas ou peu d'exemple.

Merci quand même.

Re 78chris,

Je n'ais jamais commandé sur Rakuten, puis-je avoir confiance ? Peux-tu me mettre un lien direct sur le forum ?

@+

RE

T'ai envoyé MP

Re 78hris,

Vu, merci de ta sollicitude.

Cdlt.

RE

Je me permets de vous re solliciter pour une nouvelle demande.

Je voudrais extraire le numéro jusqu'au délimiteur "/" à la maniére de mon exemple ci-joint dans le fichier

S'il faut je crée un nouveau sujet

D'avance merci

Bonjour

Si j'ai bien compris

if Text.PositionOf([Libellé],"0880")>=0 then "0880" &Text.BetweenDelimiters([Libellé],"0880"," /") else null

Ou si on doit éliminer ce qui suit en l'absence de /

if Text.PositionOf([Libellé],"0880")>=0 then 
if Text.Contains(Text.AfterDelimiter([Libellé],"0880"),"/")then "0880" & Text.BetweenDelimiters([Libellé],"0880"," /") else Text.Middle([Libellé], Text.PositionOf([Libellé],"0880"),9)
else null

Ha yes c'est nikel !

Dans mon fichier ça fout un peu le cafouillis étant donné qu’après le numéro tout n'est pas renommé pareil. Du coup j'ai des numéros qui se dupliquent dans le TCD.

En fait l'idéal serait de s'arrêter au premier mot aprés le numéro,qui est en fait un NOM dans mon vrai fichier : du genre "088012345 NOM"

Le même genre que dans mon exemple modifié

RE

if Text.Contains([Libellé],"0880") then "0880" & Text.BetweenDelimiters([Libellé],"0880"," ",0,1) else null

Merci Chris,

Une petite précision sur le 0, 1 ?

RE

Ne pas hésiter à consulter https://docs.microsoft.com/fr-fr/powerquery-m/text-betweendelimiters

Positions des délimiteurs, dont le décompte commence à 0

Donc 1er "0880" et 2ème espace le suivant (l'intérêt de cette fonction par rapport aux fonctions texte d'Excel, c'est qu'il se réfère à ce qui suit le 1er élément trouvé et non la chaîne initiale, ce qui rend beaucoup plus simple les découpages)

Ok parfait,

Merci tout pleins !

Rechercher des sujets similaires à "extraire numero powerquery"