Bonjour!!!
J'ai une question pour les fou de VBA sous Excel! :-)
J'ai des fonctions qui me retourne une information bien précise en fonction des paramètres renseignés à partir d'une base MySQL. Si dans la plupart des cas les informatiosn retournées sont satisfaisante, il arrive que les valeurs retournées apparaissent avec des chiffres après la virgule (env 10^-6)
Par exemple, si je récupère l'information 30,8 de ma BD que je renvois dans ma fonction, il va m'afficher 30,79999924 dans la cellule. Je pensais au départ à un problème avec le canal ODBC ou un truc dans le genre, mais si j'affiche en debug.print ma variable, il me retourne la valeur 30,8.
En gros:
function quota_ress(matricule as string, optional anne as integer, optional no_sem as integer) as single 'déclaration variable, connexion, requete... non retranscrite ici [...]
'récupération de la valeur de ma BD quota_ress = rst.fields("quota")
debug.print "valeur BD => " & rst.fields("quota") debug.print "retour excel =>" & quota_ress
End function
|
En gros, les debug.print m'affiche bien 30,8 et dans ma cellule je me retrouve avec 3,79999924...

Quelqu'un a une idée???
Dernière info, avec la même fonction, il peut me récupérer correctement certaine valeur dans le style 38,5. Mon champ au niveau de la base de données est en float (erreur du developpeur sans doute). En revanche, sur d'autre fonction avec lesquels le problème est identique, les champs sont en décimal(10,2).
Merci de votre aide!