Extraire les derniers chiffres d'une cellule Alphanumérique

Bonjour à tous,

J'ai déja vu pas mal de sujets proches du mien, mais rien qui ne m'ait aidé dans mon cas particulier.

J'ai des cellules avec des chiffres et des lettres, leur point commun est que le chiffre que je veux extraire est toujours à droite dans la cellule.

Néanmoins ce sont tous des chiffres différents, et ont donc entre 5 et 15 caractères (avec virgule)

Quand j'utilise la formule =DROITE(A1;6) ça me renvoit certains bons chiffres, mais les autres sont par exemple "0 9,56".

Ma question est:

Comment faire pour extraire le chiffre de droite d'un cellule, avec n'importe quel nombre de caractères ? ?

Exemple de suite de mes cellules à convertir (dans un fichier de 45 000 lignes.....)

Alcool gélifié 225 g 2,00 3,973 3,973 7,95

Alcool gélifié 80 g 1,00 3,151 3,151 3,15

Alcool gélifié 80 g 1,00 3,151 3,151 3,15

Alcool gélifié 80 g 10,00 3,151 3,151 31,51

Alcool gélifié 80 g 2,00 3,151 3,151 516,30

Je voudrais avoir dans une nouvelle colonne que les chiffres:

7,95

3,15

3,15

31,51

516,30

Un Echantillon de mon fichier:

Comment faire .......?

Merci à tous d'avance pour votre aide ! !

Bonjour,

=STXT(A1;MAX((STXT(A1;LIGNE(INDIRECT("1:"&NBCAR(A1)));1)=" ")*LIGNE(INDIRECT("1:"&NBCAR(A1))))+1;20)

et si tu dois remplacer la , par un . :

=SUBSTITUE(la_formule;",";".")

eric

Bonjour Eric,

Ca m'extrait bien le texte qui est à gauche mais pas le chiffre à droite....

Tu aurais une formule pour faire l'inverse ? ?

Merci ! !

Bonjour,

Formule matricielle validée par Ctrl+Maj+Entrée :

=CNUM(DROITE(A1;EQUIV(" ";STXT(A1;NBCAR(A1)-LIGNE($1:$255);1);0)))

Si tu veux éviter les matricielles, c'est plus long

=CNUM(DROITE(A1;NBCAR(A1)-CHERCHE("µ";SUBSTITUE(A1;" ";"µ";NBCAR(A1)-NBCAR(SUBSTITUE(A1;" ";""))))))

A+

Merci ça fonctionne !!

Super merci Eric, merci Ooiste, à bientôt !

Théo

Bonjour le fil, bonjour le forum,

Très en retard j'envoie quand une proposition VBA si ça peut intéresser :

Sub Macro1()
Dim O As Object 'déclare la variable O (Onglet)
Dim DL As Long 'déclare la variable DL (Dernière Ligne)
Dim TC As Variant 'déclare la variable TC (tableau de Cellules)
Dim I As Long 'déclare la variable I (Incrément)
Dim NE As Byte 'déclare la variable NE (Nombre d'Espaces)
Dim NV As String 'déclare la variable NV (Nouvelle Valeur)

Set O = Sheets("Feuil1") 'définit l'onglet O
DL = O.Cells(Application.Rows.Count, 1).End(xlUp).Row 'définit la dernière ligne éditée DL de la colonn e1 (=A) de l'omnglet O
TC = O.Range("A1:A" & DL) 'définit le tableau de cellules TC
For I = 1 To UBound(TC, 1) 'boucle sur toutes le lignes du tableau TC
    On Error Resume Next 'gestion des erreur (en cas d'erreur passe à la ligne suivante)
    NE = UBound(Split(TC(I, 1), " ")) 'définit le nombre d'espaces qu'il y a dans la valeur TC(I,1) (génère une erreur si aucun espace)
    If Err <> 0 Then 'condition : si une erreur a été générée
        Err.Clear 'efface l'erreur
        GoTo suite 'va à l'étiquette "suite"
    End If 'fin de la condition
    On Error GoTo 0 'annule la gestion des erreurs
    NV = Split(TC(I, 1), " ")(NE) 'définit la nouvelle valeur NV
    O.Cells(I, 3).Value = NV * 1 'place la nouvelle valeur dans la cellule correspondante en colonne 3 (=C) (multiplié par 1 pour avoir un format nombre)
suite: 'étiquette
Next I 'prochaine ligne de la boucle
End Sub

Bonjour Eric,

Ca m'extrait bien le texte qui est à gauche mais pas le chiffre à droite....

J'avais oublié de dire de valider en matriciel avec shift+Ctrl+Entrée.

Mais comme celle d'oooiste est nettement plus simple, plus de pb.

eric

Rechercher des sujets similaires à "extraire derniers chiffres alphanumerique"