Bonjour à tous,

Je suis bloqué depuis quelques jours sur un problème avec ma macro Excel.

Je vous explique mon problème :

Je cherche à extraire des nombres (pouvant être décimaux) d'une cellule source contenant du texte puis ensuite mettre les nombres extraits dans les deux cellules suivantes (Et ne pas avoir l'erreur "Nombre stocké sous forme de texte").
La cellule source se présente de cette manière : "3,35 -> 3,363"

Afin d'extraire chacun des chiffres situés à droite et à gauche de l'arrow, j'ai utilisé les fonctions Left et Right de cette manière :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
My_sheet.Cells(current_line, current_column + 1) = Left(My_sheet.Cells(current_line, current_column), InStr(My_sheet.Cells(current_line, current_column), " -> ") - 1)
 
My_sheet.Cells(current_line, current_column + 2) = Right(My_sheet.Cells(current_line, current_column), Len(My_sheet.Cells(current_line, current_column)) - (Len(My_sheet.Cells(current_line, current_column)) + 4))
J'extrait avec succès mes deux chiffres dans les cellules souhaitées. Cependant, j'ai constaté un problème si il y a plus de deux chiffres après la virgule (par exemple 3,363).
Le résultat devient 3363, la virgule disparaît purement et simplement.

J'ai tenté de convertir le contenu de mes cellules en Double (avec CDbl), j'ai tenté de changer le format (Dans le cas standard, le format de mes cellules est "Standard" mais dans le cas où mon problème survient, le format de la cellule est "Nombre" avec 0 décimales). mais rien n'y fait. J'ai essayé de passer le format en "standard" avant de remplir ma cellule, de passer le format en nombre avec le nombre de décimales souhaitées mais il me supprime toujours cette virgule alors que j'ai pourtant vérifié dans le débugeur et mon Left et Right extraient bel et bien le nombre AVEC la virgule. Elle disparaît pourtant dès que le nombre est copié dans la cellule destination.

Un petit screen d'exemple : https://gyazo.com/a470f460ede44da4862fdb6e838d35fc

J’espère que vous pourrez m'aider je commence à désespérer de ne pas trouver de solution qui marche sur un seul forum ou tuto.

Cordialement,

Remipbl