VBA Excel chiffre trop grand

Bonjour à tous et toutes,

J'ai actuellement un "petit" souci (que je n'arrive pas à contourner ...). J'ai dans une colonne des données de tout type (du style 1568956465, TRES VALLAURIS, 50001/1025/5186, 2011215.0, ... bref il y'a à boire et à manger dedans), j'utilise donc quelques codes VBA afin de supprimer les espaces, convertir les minuscules en majuscules, et virer les caractères non-alphanumérique.

Sauf que dans certaines cellules, j'ai des données du style "1878172071192090000". Lorsque mon code passe pour vérifier s'il y'a des caractéres non valides, je n'arrive pas à récupérer cette donnée précise dans une variable, pour le VBA cette donnée est "1.87817207119209E+18" ... du coup lorsque je fais la droite 1 de ma cellule par exemple, je n'ai pas zéro comme celà devrait être le cas, mais 8 !!!

J'ai essayé via mon code de lu idire de mettre un ' avant le contenu de la cellule, mais ça ne change rien évidemment, il me mets

'1.87817207119209E+18 lol

Avez-vous une idée de comment résoudre ce souci ? J'ai mis en pièce jointe l'exemple de données que je peux avoir dans la cellule, la ligne qui m'embête par exemple est la deuxième, j'ai mis un bouton qui affiche déjà un right(range("A2").value,1) pour vous montrer le souci.

PS : je suis sur Excel 2013

7excelforum.xlsm (15.90 Ko)

Bonjour,

Passer les données en TEXTE et non en NUMERIQUE

J'ai essayé évidemment ^^ mais c'est pareil, en texte la cellule me donne directement en affichage 1.87817207119209E+18, et donc la macro me renvoie aussi 8

re,

selectionne ta cellule après l'avoir passé en texte et valide et essaye

Bonjour,

Sub test()
    Dim v$
    v = Range("A2").Text
    MsgBox Right(v, 1)
End Sub

Cordialement.

M12 : oui ça ça aurait pu marcher, mais je me voyais pas descendre mes 1000 lignes à la main à chaque fois

MFerrand : thks, cela fonctionne, je vais adapter ça à ma procédure pour voir (j'aias essayé du .value2, ne rien mettre, ... mais je ne connaissait pas le .text)

Re,

Dans ce cas

MsgBox Right(Range("A2").Text, 1)

Re,

.Value2 est utilisable pour les dates, les prélever hors format date (donc en valeurs de type Long)...

Rechercher des sujets similaires à "vba chiffre trop grand"