Bonjour

Je viens de m'apercevoir d'un bug sur 2007 ou demande explication?

Un tablo avec 5 valeurs à aditionner
35.5
35.5
35.5
37.5
39

Resultat sur ma calculatrice 183 ok tout va bien pour le moment.

maintenant le code ci dessous donne 185 si variable en integer et 183 si variable en double!!!!

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
Dim TabTemp()
Dim TabCompteValeur()
Dim Cptx As Integer: Cptx = 0  'en integer donne 185 =>Si je met Double donne bien 183
Dim CptxBis As Integer: CptxBis = 0  'en integer donne 185 =>Si je met Double donne bien 183
Dim CalX As Double: CalX = 0
 
ReDim TabCompteValeur(1 To Nbpartant, 1 To 2)
 
For I = 1 To Nbpartant
TabTemp = DBX(I)
    For II = 1 To UBound(TabTemp)
       If TabTemp(II, 10) = "" Then Else Cptx = Cptx + TabTemp(II, 10): CptxBis = CptxBis + 1 'tablo 2D ou 1D donne la meme erreur....
    Next II
TabCompteValeur(I, 1) = I
CalX = (Cptx / CptxBis) 'Peut la mettre directe à la place de Calx pour la ligne suivant, juste pour voir le resultat (Dans monn tablo ligne 2 ma valeur est bien en Double....
TabCompteValeur(I, 2) = Int(2 * CalX + 0.5) / 2  'Arrondi à 0.5....
CalX = 0:Cptx = 0:CptxBis = 0
Next I
Incroyable non ?

Pareil avec le tri des dates avec application.transpose => elle me passe les date en string !!!!

Je suis en xls 2017

Merci pour vos reponses