Caster du texte en Variant VBA
Raph04
Messages postés
182
Statut
Membre
-
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 :
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 :
mais ça ne marche pas.
J'ai bien ça qui marche :
Mais bon c'est pas très propre...
Avez vous une autre idée ?
D'avance merci ;-)
Raph
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:
- Caster en informatique
- Le code ascii en informatique - Guide
- Caster vlc - Guide
- Jargon informatique - Télécharger - Bureautique
- Comment caster sur tv avec chromecast - Guide
- Que veut dire url en informatique - Guide
2 réponses
bonjour,
Ca veut dire quoi "caster"
Range("A1") = CDbl(FormatNumber(nombre, 2))
nombre doit être déclaré comme Double
Dim nombre as double
Ca veut dire quoi "caster"
Range("A1") = CDbl(FormatNumber(nombre, 2))
nombre doit être déclaré comme Double
Dim nombre as double
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
"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