Caster du texte en Variant VBA

Raph04 Messages postés 182 Statut Membre -  
Raph04 Messages postés 182 Statut Membre -
Bonjour,

Je travaille sur un export de données d'un Access dans un Excel.
L'une des formule que j'utilise est :

xlSheet.Cells(Lig, Col) = FormatNumber(nombre, 2)


Mon problème est que FormatNumber me renvoie du texte, donc dans mon ficher Excel, j'ai mon nombre affiché, mais en temps que texte. Donc il m'est impossible de faire des calcules dessus après.
J'ai essayer de changer le format de la cellule en nombre, mais ça ne fait rien.

Je cherche donc à caster mon texte en variant avant de l'envoyer. J'ai essayer :
xlSheet.Cells(Lig, Col) = CVar(FormatNumber(nombre, 2))


mais ça ne marche pas.

J'ai bien ça qui marche :
xlSheet.Cells(Lig, Col) = FormatNumber(nombre, 2) + 0

Mais bon c'est pas très propre...

Avez vous une autre idée ?
D'avance merci ;-)
Raph
A voir également:

2 réponses

michel_m Messages postés 18903 Date d'inscription   Statut Contributeur Dernière intervention   3 318
 
bonjour,

Ca veut dire quoi "caster"
Range("A1") = CDbl(FormatNumber(nombre, 2))
nombre doit être déclaré comme Double
Dim nombre as double
0
Raph04 Messages postés 182 Statut Membre 24
 
Salut,

"Caster" ça vient surement de ma formation première en C (:-$), ça veux tout simplement dire transformer un type de variable en un autre type exemple :
string => variant (mon cas)
ou integer => double
ou encore double => long...
Bref...

Par contre mon problème c'est que je ne peux pas utiliser de double, vu que ce sont des chiffres à virgule, d'où le formatNumber pour limité à 2 chiffre après la virgule ;-).
C'est pour ça que c'est un Variant...

Bon pour l'instant je reste avec mon + 0 :-p
Mais si vous avez d'autre idée, n'hésitez pas.

Merci

Raph
0