Séparer valeur d'une même cellule en fonction d'un caractère

Bonjour à tous,

Meilleurs vœux pour cette nouvelle année !

Je cherche à séparer les valeurs d'une cellule (colonne A) en fonction des caractères présents dedans.
Je m'explique:
Dans la colonne A, j'ai que des cellules du genre:

Tradition 1,20€
Baguette Rustique 1,10€
Baguette Pointue 1€
Baguette céréales 1,40€
Pain du concours 2,80€
Fougasse 1,60€
Pain complet 2,80€
Pain aux céréales 2,80€

Ce que je souhaite obtenir:

Tradition1,20 €
Baquette Rustique1,10 €
etc.

En gros, je veux séparer la cellule dès qu'on arrive sur la valeur numérique (chiffre).

Je sais pas si c'est possible, dans le doute je vous sollicite à nouveau

D'avance merci pour votre aide !

9classeur1.xlsx (10.34 Ko)

Bonjour à tous, NicoBastia9,

A tester. Mettre au format souhaité.

6nicobastia9.xlsx (10.71 Ko)

Cordialement.

Bonjour,

Option Explicit

Sub Test()

Dim I As Long
Dim AireATraiter As Range
Dim TabChaine As Variant

    Columns("2,3").ClearContents
    Set AireATraiter = Range("A1").CurrentRegion
    For I = 1 To AireATraiter.Count
        With AireATraiter(I)
             TabChaine = Split(.Value, " ")
             .Offset(0, 1) = Trim(Mid(.Value, 1, Len(.Value) - Len(TabChaine(UBound(TabChaine)))))
             With .Offset(0, 2)
                  .Value = CDbl(Split(TabChaine(UBound(TabChaine)), "€")(0))
                  .NumberFormat = "#,##0.00 $"
             End With
        End With
    Next I
    Set AireATraiter = Nothing

End Sub
4classeur1.xlsm (18.75 Ko)

bonjour

avec 2 fonctions matricielles distinctes

cordialement

9nicobastia.xlsx (11.51 Ko)

Re,

Pour être complet sans matricielle.

10nicobastia9-v2.xlsx (11.00 Ko)

Cdlt.

Bonjour

Tant que nous y sommes, encore une autre méthode avec fonctions personnalisées:

En B1, formule:

=pain(A1)

en C1, formule:

=Cout(A1)

le code

Function Pain(plage As Range)
    Type_Pain = InStrRev(plage, " ", -1)
    Pain = Left(plage, Type_Pain - 1)
End Function

Function Cout(plage As Range)
    Type_Pain = InStrRev(plage, " ", -1)
    Cout = Mid(plage, Type_Pain + 1, 6)
End Function

le fichier:

Cdlt

Re,

Encore une proposition avec power Query

Cdlt.

re

ou alors sans matricielle avec fonction light

le texte

=GAUCHE(A1;SOMMEPROD(MIN(SIERREUR(CHERCHE({1.2.3.4.5.6.7.8.9.0};A1);"")))-1)

les chiffres

=SUBSTITUE(A1;E1;"")   eventuellement *1 

cordialement

Bonjour à tous

Vous êtes tous très forts, et bien plus rapide que moi car j'ai eu besoin d'aide sur le web http://www.excel-exercice.com/extraire-les-derniers-mots-dune-cellule/

=STXT(B1;CHERCHE("$";SUBSTITUE(B1;" ";"$";NBCAR(B1)-NBCAR(SUBSTITUE(B1;" ";""))));NBCAR(B1)-CHERCHE("$";SUBSTITUE(B1;" ";"$";NBCAR(B1)-NBCAR(SUBSTITUE(B1;" ";"")))))

Super, merci beaucoup à tous pour votre aide !

Problème résolu !

Bonne journée !

Rechercher des sujets similaires à "separer valeur meme fonction caractere"