Traitement BDD : isoler chiffre dans une cellule de texte avec multiples v

Bonjour à tous,

Je travaille sur un logiciel qui réalise des exports de base de données que je souhaiterai exploiter.

Malheureusement le fichier TXT exporter me pose beaucoup de problèmes.

Voici un exemple de données exportées :

75 df143,00652,73

75 df 3,0026,25

2016 Ml16,00205,33

Tb 75 pt678,004254,67

50 vl13,0052,82

T1790,005515,64

Je souhaiterai isoler les derniers chiffres uniquement :

143,00652,73

3,0026,25

16,00205,33

Ensuite les séparer dans trois colonnes :

143

652

73

3

26

25

16

205

33

Comme vous pouvez le constater, on retrouve plusieurs variables :

  • On retrouve parfois des espaces, parfois non,
  • La suite de nombres varie : elle est parfois de 9 caractères parfois de 12,
  • Les lettres avant les nombres que je souhaite isoler changent et sont parfois en minuscule, parfois en majuscule.

J’ai essayé d’utiliser des formules de ce type trouvé sur le forum mais sans succès (dépasse mon niveau de compétence excel actuel) :

SIERREUR(INDEX(STXT($C$32;LIGNE(INDIRECT("$1:$"&NBCAR($C32)));1)&STXT(REPT(" ";NBCAR($C$32));LIGNE(INDIRECT("$1:$"&NBCAR($C32)));1);COLONNE(B:B));"")

STXT(A23;TROUVE(",";A23;1)-5;20)

Je suis donc à la recherche d’une formule qui me permettrait d’intégrer toutes ces variables.

L’objectif est de faire un copier-coller de mon TXT en colonne A afin qu’ensuite la formule traite automatiquement l’information en colonne B et isole les données évoquées dans les colonnes suivantes.

Merci pour votre soutien à tous.

Emmanuel

Bonjour à tous !

Et....

Je vous livre une proposition via Power Query (nativement intégré à votre version Excel) :

Bonjour à tous

Je vous livre une proposition via Power Query (nativement intégré à votre version Excel)

Bien joué le

Text.RemoveRange...

Tu peux même gagner une étape

let
    Source = Excel.CurrentWorkbook(){[Name="Tableau1"]}[Content],
    #"Personnalisée ajoutée1" = Table.AddColumn(Source, "Nombre", each Text.RemoveRange([Base de données exportée], 0, Text.PositionOfAny([Base de données exportée],{"A".."z"},Occurrence.Last)+1)),
    #"Fractionner la colonne par délimiteur" = Table.SplitColumn(#"Personnalisée ajoutée1", "Nombre", Splitter.SplitTextByDelimiter(",", QuoteStyle.Csv), {"Nombre.1", "Nombre.2", "Nombre.3"}),
    #"Colonnes supprimées" = Table.RemoveColumns(#"Fractionner la colonne par délimiteur",{"Base de données exportée"}),
    #"Type modifié" = Table.TransformColumnTypes(#"Colonnes supprimées",{{"Nombre.1", Int64.Type}, {"Nombre.2", Int64.Type}, {"Nombre.3", Int64.Type}})
in
    #"Type modifié"

Bonjour de nouveau....

Bien joué le

Text.RemoveRange...

Ma gourmandise pour cet outil ne fait que croître...... Quel plaisir à découvrir......

Tu peux même gagner une étape

J'ai noté !

Bonjour,

Autre proposition avec fonctions personnalisées

en B2: =isoler($A2)

en C2: =isoler_1($B2)

en D2: =isoler_2($B2)

en E2: =isoler_3($B2)

Cdlt

Edit :

on peut aussi intégrer l'étape intermédiaire d'extraction des valeurs numériques en l'intégrant dans les 3 autres fonctions.

bonsoir

un essai pour le fun et pour les privés de kiri

cordialement

15serin.xlsx (13.52 Ko)

Bonjour à tous,

Merci pour vos propositions qui fonctionnent toutes. En revanche il va falloir que je m'approprie les méthodes pour bien comprendre et pourquoi pas les reproduire.

@JFL @78Chris - J'ai une version 2019 aussi. PowerQuery fonctionne-t-il également sur cette version? Par contre, je n'arrive même pas à trouver les lignes de requêtes que vous avez mises en place. Je n'ai jamais utilisé PowerQuery.... S'il existe un tuto sur le forum?! Ou si vous pouviez juste me me montrer le chemin sur le doc transmis.

@Arthur83 - Il me faut me pencher sur les fonctions créées avant de les comprendre mais cela me semble accessible.

@Tulipe4 - Je vais me pencher sur cette imbrication de formule.

Merci pour vos retours rapides et efficients. C'est top.

Bon dimanche.

Emmanuel

Bonjour

@JFL @78Chris - J'ai une version 2019 aussi. PowerQuery fonctionne-t-il également sur cette version? Par contre, je n'arrive même pas à trouver les lignes de requêtes que vous avez mises en place. Je n'ai jamais utilisé PowerQuery.... S'il existe un tuto sur le forum?! Ou si vous pouviez juste me me montrer le chemin sur le doc transmis.

PowerQuery existe en add on sur les versions 2010 et 2013 et est complètement intégré à Excel depuis la version 2016, donc tu l'as sur 2019

Pour lancer POwerQuery et voir ce qui est déjà crée : Données, Obtenir des données, lancer PowerQuery

Le B A BA ici http://www.excel-formations.fr/Trucs_astuces/PQ00.php en plus des ressources sur le site de Microsoft et celui du CFO masqué

Ici la seule difficulté est la seconde étape utilisant une formule un peu avancée
Les autres étapes sont basiques et se font d'un clic

Regarde déjà le lien du B A BA et les étapes existant dans la solution de JFL et si tu as des questions, n'hésite pas à revenir

@78Chris - merci pour votre retour. C'est top. Je n'ai plus qu'a m'y mettre.

Belle fin de journée.

Emmanuel

Rechercher des sujets similaires à "traitement bdd isoler chiffre texte multiples"