Fonction average avec décimales

Bonjour à tous,

Après quelques recherche, je ne parviens pas à trouver mon problème alors voila, je me tourne vers vous!

Le problème n'est pas énorme et je ne pense pas qu'il nécessite le fichier, c'est purement lié à la fonction je crois. Enfin au cas ou, si vous voulez vraiment le fichier pas de soucis, je vous enverrai le paquet

Pour faire court, je récupère des données Excel sur un premier fichier, j'intègre ces données dans des variables tableaux et de la, je fais la moyenne, le mini et le max de mon tableau.

Sur le principe, ça fonctionne impeccablement bien!

Mais petit couac, le résultat obtenu est entier hors, je voudrais obtenir un chiffre après la virgule.

       
 ' pour l'enregistrement dans les tableaux
       ' à ce moment, les valeurs ont 2 décimales 
                For y = 1 To 5
                    date_TUSetude(y) = Cells(moy_ligne - 1 + y, 1)
                    TC1etude(y) = Cells(moy_ligne - 1 + y, 2) + TC_correction_500(1) + reccord_correction_500(1)
                    TC2etude(y) = Cells(moy_ligne - 1 + y, 3) + TC_correction_500(2) + reccord_correction_500(2)
                    TC3etude(y) = Cells(moy_ligne - 1 + y, 4) + TC_correction_500(3) + reccord_correction_500(3)
                    TC4etude(y) = Cells(moy_ligne - 1 + y, 5) + TC_correction_500(4) + reccord_correction_500(4)
                    TC5etude(y) = Cells(moy_ligne - 1 + y, 6) + TC_correction_500(5) + reccord_correction_500(5)
                    TC6etude(y) = Cells(moy_ligne - 1 + y, 7) + TC_correction_500(6) + reccord_correction_500(6)
                    TC7etude(y) = Cells(moy_ligne - 1 + y, 8) + TC_correction_500(7) + reccord_correction_500(7)
                    TC8etude(y) = Cells(moy_ligne - 1 + y, 9) + TC_correction_500(8) + reccord_correction_500(8)
                    TC9etude(y) = Cells(moy_ligne - 1 + y, 10) + TC_correction_500(9) + reccord_correction_500(9)
                    TC10etude(y) = Cells(moy_ligne - 1 + y, 11) + TC_correction_500(10) + reccord_correction_500(10)
                    TC11etude(y) = Cells(moy_ligne - 1 + y, 12) + TC_correction_500(11) + reccord_correction_500(11)
                    TC12etude(y) = Cells(moy_ligne - 1 + y, 13) + TC_correction_500(12) + reccord_correction_500(12)
            Next y

 'Ici, calcul de la moyenne, du mini et du maxi
     ' à partir de la, le contenu de moy_TC1 est entier...
                    moy_TC1 = Application.WorksheetFunction.Average(TC1etude)
                    min_TC1 = Application.WorksheetFunction.Min(TC1etude)
                    max_TC1 = Application.WorksheetFunction.Max(TC1etude)

            

Une idée?

Bonjour,

Tu as essayé de rajouter ça en debut de code?

dim moy_TC1 as double, min_TC1 as double, max_TC1 as double

C'est posible que ce soit juste un soucis de type de variable, le double prend en compte les décimaux

Bonjour,

Avec juste cet extrait de code, c'est un peu compliqué de voir d'où vient le problème ? Peux tu envoyer un fichier ?

J'ai quand même quelques questions : ton tableau et tes variables sont déclarés avec quel type ? A quel moment te rend tu comptes que le contenu est entier (en l'inscrivant quelque part ? Via un MsgBox ? Avec une exécution pas à pas ?).

Put*** t'es un génie!!

Bon bah c'était bien ça. Une fois en Double, ça marche impeccable. Mais Long prend pas les décimales?

Je vais faire la modification.

J'en profite quand même pour une autre question (et du coup je te joins les fichiers).

Tu verras en cliquant sur le bouton sur la page, tu devras remplir 2 UF.

Le deuxième n'accepte pas les chiffres négatifs. C'est parce que j'ai pris du Long aussi? je devrais mettre du double?

PS: tu devras changer le chemin du fichier data dans le module "Gestion_page".

Second PS: le code est deguelasse... haha

8excel-pratique.xlsm (231.55 Ko)

Le deuxième fichier rentre pas, je te fais un deuxième message

Seconde partie

3data-excel.xlsx (15.18 Ko)

Edit: sur le deuxième UF, je te conseille de mettre des 1 partout mais en gros, c'est ici que je souhaiterai pouvoir mettre des chiffres à decimales négatives.

Type Long = Nombre entier entre -2147483648 et 2147483648

Ok, tout fonctionne! Merci à vous deux!

Au_secours, tu étais déjà sur le site sous un autre nom avant non?

Parce qu'en 2 mois, je ne vois que toi partout!

Tu es au top!

Mes respects!

Rebonjour, Bonjour à tous les autres membres

Tu peux retrouver toutes les infos sur les variables ici : https://www.excel-pratique.com/fr/vba/variables.php

Pour répondre à ta question, je n'ai pas d'autres comptes sur ce fórum, je ne suis actif sur le fórum que depuis le 31 mai 2018

Oh et je ne suis actif que sur ce fórum

Muchos gracias amigo!

Bon courage pour tes projets et merci pour l'aide que tu fournis!

¡De nada!

Merci également

Rechercher des sujets similaires à "fonction average decimales"