Extraction de données entre tirets

Bonjour à tous ,

Voila mon problème , je souhaite extraire les données entre tirets d'une cellule afin de créer 4 colonnes :

Exemple :

Ancienne refColonnes souhaitées
10_129_1_1010129110
10_15_1_5101515

J'ai dans le tableau une dizaine de milliers de lignes à modifier , qui n'ont pas toujours le même nombre de chiffres entre tirets...

Merci beaucoup de votre aide .

Bonjour,

Voici une proposition avec une fonction personnalisée. Quelques pré-requis cependant :

- enregistrer le fichier au format .xlsm,
- activer le volet "Développeur" (si ce n'est pas déjà fait) : Volet "Fichier" / Options / Personnaliser le ruban > cocher "développeur",
- sur le volet "Développeur", ouvrir l'éditeur "Visual Basic" (raccourci Alt + F11),
- dans le menu contextuel "Insertion", sélectionner "Module",
- aller sur ce nouveau module et y copier le code :

Function EXTRACT_PART(chaine as string, optional occurrence as integer) as string
if occurrence = 0 then occurrence = 1
EXTRACT_PART = split(chaine, "_")(occurrence - 1)
end function

Ensuite, si vos données à extraire sont en A2, il faut saisir :

=EXTRACT_PART($A2;1) 'en B2
=EXTRACT_PART($A2;2) 'en C2
=EXTRACT_PART($A2;3) 'en D2
=EXTRACT_PART($A2;4) 'en E2

Puis à propager vers le bas...

Cdlt,

Merci Beaucoup pour la réponse ,

Etant vraiment novice , la deuxième partie se fait également dans le module? ou en formule dans les cellules?

Cordialement.

Je viens de comprendre merci beaucoup votre réponse m'a été vraiment utile cela fonctionne parfaitement , Bonne journée

Super ! Oui, je ne l'ai pas précisé mais la deuxième partie, la saisie des formules, était à faire sur feuille...

Bonne journée à vous aussi

bonjour

pour les zinterdits de vba

cordialement

Rechercher des sujets similaires à "extraction donnees entre tirets"