Microsoft 365 Message d'erreur VBA

VBA_dev_Anne_Marie

XLDnaute Occasionnel
Bonjour,

J'aurais une petite question : je reçois toujours ce message d'erreur, je ne comprends pas d'où ça vient :

1702982913775.png
 

patricktoulon

XLDnaute Barbatruc
re
Bonjour
ben bien sur que l'on sait
pas de fichier
on sait même pas de quel nombre il sagit
on sait même pas d'ou il vient ce nombre
ni si même ça en est un

bref sans savoir quoi que ce soit on sait
notre réputation de magicien nous précède

Ok je sorts
noyeux joel 🤣 🤣
 

VBA_dev_Anne_Marie

XLDnaute Occasionnel
re
Bonjour
ben bien sur que l'on sait
pas de fichier
on sait même pas de quel nombre il sagit
on sait même pas d'ou il vient ce nombre
ni si même ça en est un

bref sans savoir quoi que ce soit on sait
notre réputation de magicien nous précède

Ok je sorts
noyeux joel 🤣 🤣
Bonjour,
Il s'agit des variables numériques de la base ORACLE : 8.22491300293072.
Le nombre après la virgule est variable (de 2 à 14 chiffres, mais je ne peux pas dire précisément le nombre max après la virgule).

Joyeux Noël à vous aussi !
 

VBA_dev_Anne_Marie

XLDnaute Occasionnel
re
voir
CdBlCdec
VB:
Sub test()
texte = "8.22491300293072 "

MsgBox Val(texte)

MsgBox CDbl(Replace(texte, ".", ","))

MsgBox CDec(Replace(texte, ".", ","))

End Sub
même en texte je te les sort correctes ;)
Oui, mais j'ai des requêtes ADODB en sql avec un MoveNext à la fin. J'ai cherché le code erreur, sur les forums on mentionnait qu'il fallait ajouter ROUND pour les chiffres.
Je ne comprends pas pourquoi ADODB fait des erreurs sans la fonction ROUND.
 

VBA_dev_Anne_Marie

XLDnaute Occasionnel
Bonsoir Anne Marie et bonsoir Patrick.
Il s'agit d'une requête oracle et il faut très certainement caster la valeur. C'est ce que Anne Marie a fait implicitement avec round.

Oracle est un peu chiant à ce niveau. Si tu divise. 3/2 il te retourne a cou sur 1 ou 2 mais pas 1,5 su tu n'as pas casté 3 et 2 en double.
Merci beaucoup,
il y a une fonction cast, s'il vous plaît ? Ou bien je continue avec round ?
 

dysorthographie

XLDnaute Accro
Bonjour,
En fait pour le problème qui te procupes oracle préconise la fonction round.

Pas de problème ton intuition était donc la bonne.

Pour des info sur la fonction cast

Fonction convert
Il faut que tu connaisses ces deux fonctions

Il y a également les alter session qu'il faut étudier.
 
Dernière édition:

VBA_dev_Anne_Marie

XLDnaute Occasionnel
Bonjour,
En fait pour le problème qui te procupes oracle préconise la fonction round.

Pas de problème ton intuition était donc la bonne.

Pour des info sur la fonction cast

Fonction convert
Il faut que tu connaisses ces deux fonctions

Il y a également les alter session qu'il faut étudier.
Merci beaucoup !
 

Statistiques des forums

Discussions
315 124
Messages
2 116 461
Membres
112 756
dernier inscrit
amar13