Séparer chaîne de caractère contenant des nombres à espace

Bonjour le forum, après quelques recherches sur le forum et sur le net en général, je me vois contraint de créer un nouveau sujet :

Vous connaissez certainement des formules ou des codes VBA permettant de séparer des chaînes de caractères puis de restituer par exemple le mot situé en 5ème position.

Imaginez maintenant que vous avez une chaîne de nombres, séparés par un espace, mais que le nombre que vous souhaitez extraire est un millier, avec séparation des milliers par un espace..

Mon contexte : j'ai 3000 lignes en format texte pour lesquelles je souhaite extraire le nombre en 4ème position (en rouge dans mon classeur exemple). Je souhaite ensuite avoir ces valeurs en format numérique pour réaliser des calculs type "somme" dessus.

J'ai quelques constantes toutefois qui pourraient aider à "tricher", c'est à dire que le nombre que je veux récupérer est entouré de deux nombres décimaux (2 décimales à chaque fois), donc en repérant ces nombres on pourrait lire ce qu'il y a entre.

J'en suis là, et je bloque.

Merci d'avoir pris le temps de me lire et merci à ceux qui prendront le temps de se pencher sur mon classeur exemple.

41classeur1.xlsm (10.72 Ko)

Bonjour,

Bidouille

1 : telecharger et installer le pack de nouvelle fonction par Sebastien (voir 1er post du forum excel)

https://forum.excel-pratique.com/excel/pack-de-nouvelles-fonctions-excel-vba-t81294.html

2: https://www.cjoint.com/c/FJgjyZizhqT

Crdmt

Effectivement, je vais pouvoir bidouiller quelque chose à partir de ça, merci pour le tuyau.

Toutefois, après avoir suivi à la lettre le tutoriel d'installation, je n'ai pas la fonction "joindre".

J'ai pourtant fermé et redémarré Excel. Mais dans VBA->outils-> références, je n'ai pas "pack de fonction XLP..."

voyez plutôt en PJ

pourtant, il est bien installé dans mes compléments -> voir pj2

Un avis?


Ah, trouvé : vba -> outils -> références -> parcourir -> dossier Excel dans C: -> type de fichier non pas "Bilbiothèques de types (*.olb ..." mais selectionner dans la liste déroulante "Microsoft Excel Files ..." et ouvrir Pack de fonctions XLP.

Si jamais des gens perdus comme moi arrivent ici ça pourra les aider

Du coup je bidouille, merci Djidji, si jamais je bloque vraiment je reviendrai sur le forum

A+

capture2 capture

Bonjour

Ton cas est tordu mais néanmoins je te propose une solution avec extractions successives sur la base des exemples de données jointes.

la taille du chiffre final à récupérer est basée sur un nombre à 6 chiffres max avant la virgule.... avec un séparateur de milliers

Testes en recopiant tes données en A3 puis recopies les formules vers le bas , verif impérative

Cordialement

FINDRH

Eh ! Merci beaucoup FINDRH, cette succession de formule est vraiment intéressante !

Je vais pouvoir travailler dans mon coin pour tout caler en une seule formule et optimiser pour que mes 3000 lignes se calculent sans planter le PC !

Merci encore pour ce tuyau.

Bon après-midi

Bonjour

Surtout n'essayes pas de recoller la formule en une seule ......... ce serait chronophage et inutile

3000 lignes c'est rien

conserves les deux premières lignes sur un onglet nommé formules

recopies ces formules sur ta première ligne après la 1ere colonne remplie et recopies vers le bas (double clic coin bas droit de la cellule) une colonne après l'autre, puis sélectionner, copier le tout et collage spécial valeur.

Autre solution, avec VBA automatiser le process...

A ta dispo

Cordialement

FINDRH

Rechercher des sujets similaires à "separer chaine caractere contenant nombres espace"