Extraction de texte dans une chaine de caractère

Risbal14

XLDnaute Nouveau
Bonjour à tous,

Je recherche désespérément une solution pour extraire les valeurs dans une chaîne de caractère avec le format suivant (fichier exemple en PJ) :

WWWW Go XXXX Mo YYYY Ko ZZZZ (exemple : 120 Go 20 Mo 1 Ko 857 ou 12 Go 10 Ko 115 ou 10 Mo 1 Ko 120)

WWWW correspondant au nombre de Go (variable de 1 à l'infini)

XXXX correspondant au nombre de Mo (variable de 1 à 1024)

YYYY correspondant au nombre de Ko (variable de 1 à 1024)

ZZZZ correspondant au nombre d'octets (variable de 1 à 1024)

Sachant que chaque unité est séparée dans la cellule par un espace avant et un espace après.

Mon objectif est soit d'extraire chaque valeur indépendamment (pour les Go, Mo, Ko et octests) soit de convertir cette chaîne en Mo.

Je vous remercie d'avance pour votre aide.

Bonne soirée.

Cordialement.
 

Pièces jointes

  • Conversion Go Mo Ko.xlsx
    12 KB · Affichages: 69
  • Conversion Go Mo Ko.xlsx
    12 KB · Affichages: 96
  • Conversion Go Mo Ko.xlsx
    12 KB · Affichages: 79

Yaloo

XLDnaute Barbatruc
Re : Extraction de texte dans une chaine de caractère

Bonsoir Risbal14 et bienvenu sur XLD,

Vois avec le fichier ci-joint.

J'ai créé des fonctions pour extraire les différentes unités, puis j'ai modifié un peu tes formules en colonne F

A te relire

Martial
 

Pièces jointes

  • Conversion Go Mo Ko.xlsm
    19.7 KB · Affichages: 87

JHA

XLDnaute Barbatruc
Re : Extraction de texte dans une chaine de caractère

Bonsoir à tous,

Un essai par formule

JHA
 

Pièces jointes

  • Conversion Go Mo Ko.xlsx
    11.2 KB · Affichages: 69
  • Conversion Go Mo Ko.xlsx
    11.2 KB · Affichages: 79
  • Conversion Go Mo Ko.xlsx
    11.2 KB · Affichages: 73

Risbal14

XLDnaute Nouveau
Re : Extraction de texte dans une chaine de caractère

Bonjour Yaloo et JHA,

C'est parfait, un grand merci pour votre aide.

Juste une dernière question, est-il possible de n'avoir qu'une seule formule pour déterminer directement le volume en Mo (colonne F).

Cette formule doit me servir dans un fichier avec beaucoup de lignes (> 100 000 L).

J'ai peur que de rajouter des colonne ralentisse le traitement des calculs.

A vous lire et encore un grand merci à vous deux.

Cordialement.
 

JHA

XLDnaute Barbatruc
Re : Extraction de texte dans une chaine de caractère

Bonjour à tous

Cela commence à faire lourd en une formule pour "F2"
Code:
=(SIERREUR(GAUCHE(A2;CHERCHE("Go";A2;1)-1)*1;0))*1024+(SI(ET(ESTNUM(CHERCHE("Mo";A2;1));B2>0);STXT(A2;(CHERCHE("Go";A2;1)+2);(CHERCHE("Mo";A2;1)-1)-(CHERCHE("Go";A2;1)+2))*1;SI(ESTNUM(CHERCHE("Mo";A2;1));GAUCHE(A2;CHERCHE("Mo";A2;1)-1);0)))+(SI(ESTNUM(CHERCHE("Ko";A2;1));GAUCHE((SI(C2>0;SUBSTITUE(A2;GAUCHE(A2;CHERCHE("Mo";A2;1)+2);0);SI(B2>0;SUBSTITUE(A2;GAUCHE(A2;CHERCHE("Go";A2;1)+2);0);SI(ESTNUM(CHERCHE("Ko";A2;1));A2;0))));CHERCHE("Ko";(SI(C2>0;SUBSTITUE(A2;GAUCHE(A2;CHERCHE("Mo";A2;1)+2);0);SI(B2>0;SUBSTITUE(A2;GAUCHE(A2;CHERCHE("Go";A2;1)+2);0);SI(ESTNUM(CHERCHE("Ko";A2;1));A2;0))));1)-1);0))/1024+(SI(ESTNUM(CHERCHE("Ko";A2;1));GAUCHE((SI(C2>0;SUBSTITUE(A2;GAUCHE(A2;CHERCHE("Mo";A2;1)+2);0);SI(B2>0;SUBSTITUE(A2;GAUCHE(A2;CHERCHE("Go";A2;1)+2);0);SI(ESTNUM(CHERCHE("Ko";A2;1));A2;0))));CHERCHE("Ko";(SI(C2>0;SUBSTITUE(A2;GAUCHE(A2;CHERCHE("Mo";A2;1)+2);0);SI(B2>0;SUBSTITUE(A2;GAUCHE(A2;CHERCHE("Go";A2;1)+2);0);SI(ESTNUM(CHERCHE("Ko";A2;1));A2;0))));1)-1);0))/(1024*1024)

puis tirer vers le bas

JHA
 

Risbal14

XLDnaute Nouveau
Re : Extraction de texte dans une chaine de caractère

Bonjour à tous,

Je me permet de relancer ce post.

J'ai besoin d'intégrer la macro de Yaloo dans une macro plus complexe en VBA et en ne conservant que le résultat de la colonne F (volume en Mo) du fichier joint.

Yaloo a utilisé des fonctions que je n'arrive pas à visualiser.

Quelqu'un a t-il une idée du code pour effectuer cette conversion directement en VBA en ne conservant que le résultat de la colonne F (volume en Mo)?

Merci de votre aide.

Boris.
 

Pièces jointes

  • Conversion Go Mo Ko_Macro.xlsm
    26.8 KB · Affichages: 70

Yaloo

XLDnaute Barbatruc
Re : Extraction de texte dans une chaine de caractère

Bonsoir Boris,

Je t'ai fait un condensé des fonctions du précédent fichier.

J'ai omis les octets, car infiniment petit et surtout ça me plantait ma fonction, je ne sais pas s'il y a une parade ?

A te relire

Martial
 

Pièces jointes

  • Conversion Go Mo Ko_Macro V1.xlsm
    31.8 KB · Affichages: 48

Discussions similaires