Extraire les chiffres d'une chaîne de caractères

bonsoir je bosse toujours mon projet dans lequel je récupère la météo et que je met ensuite dans une variable de chiffre sur VBA.

mon problème est le suivant : la température est récupérée sous la forme suivante (-)xx.x°C

mais la seule chose qui m'intéresse est la valeur de (-)xx. Le signe est important...

j'ai testé 2 chose : fonction GAUCHE mais si la température n'est pas a virgule, je n'ai pas la bonne valeur numérique. Puis j'ai trouvé une fonction Numeric sur un forum mais celle si enlève le signe...

auriez vous quelque chose à me proposer ?

mon fichier est trop lourd je ne peux le mettre ici.

A titre d'exemple, la fonction que je cherche doit associer -2,5 à -2.5°C/ 10 à 10°C/ 20 à 20.5°C

2 solutions sans VBA :

  • Via formule :
    =GAUCHE(A1;TROUVE("°";A1)-1)

    (en anglais :
    =LEFT(A1,FIND("°",A1)-1)

    )
  • Via Power Query :
    Aller dans query, dans l'onglet de transformation rubrique Text Column, et splitter (diviser en francais?) la colonne en 2 avec le rep-re ° puis supprimer la colonne C restante

Salut

en vba , si ta valeur est par exemple dans la cellule A1 : -26.6°C

For i = 1 To Len(Cells(1, 1)) - 2

w = w & Mid(Cells(1, 1), i, 1)

Next

msgbox w ' retourne -26,6 (mais attention ca reste une chaine de type string)

merci pour vos réponses à force de réfléchir pendant la nuit j'ai trouvé quelque chose de très simple qui me renvoi la partie entière signé de ma température.

le code est le suivant (avec la température en K5) : =SI(NBCAR(K5)=4;GAUCHE(K5;NBCAR(K5)-2);GAUCHE(K5;NBCAR(K5)-7))

Bonjour,

Une autre formule qui retourne un nombre :

=SUBSTITUE(SUBSTITUE(A1;"°C";"");".";",")*1

Et en VBA :

t = Val(Range("A1").Value)
Rechercher des sujets similaires à "extraire chiffres chaine caracteres"