Arrondi forcé Fonction Excel
Résolu/Fermé
Sirrol13
Messages postés
2
Date d'inscription
lundi 30 novembre 2020
Statut
Membre
Dernière intervention
30 novembre 2020
-
30 nov. 2020 à 17:29
Whismeril Messages postés 19028 Date d'inscription mardi 11 mars 2003 Statut Non membre Dernière intervention 24 avril 2024 - 30 nov. 2020 à 18:43
Whismeril Messages postés 19028 Date d'inscription mardi 11 mars 2003 Statut Non membre Dernière intervention 24 avril 2024 - 30 nov. 2020 à 18:43
A voir également:
- Arrondi forcé Fonction Excel
- Liste déroulante excel - Guide
- Excel fonction si et - Guide
- Formule excel - Guide
- Fonction somme excel - Guide
- Fonction moyenne excel - Guide
4 réponses
f894009
Messages postés
17185
Date d'inscription
dimanche 25 novembre 2007
Statut
Membre
Dernière intervention
15 avril 2024
1 701
30 nov. 2020 à 17:43
30 nov. 2020 à 17:43
Bonjour,
'entier long Function MoyenneSiCouleur(Plage As Range, NumeroDeCouleur As Integer) As Long 'nombre decimal Function MoyenneSiCouleur(Plage As Range, NumeroDeCouleur As Integer) As Single ou Function MoyenneSiCouleur(Plage As Range, NumeroDeCouleur As Integer) As Double
yg_be
Messages postés
22720
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
23 avril 2024
1 476
30 nov. 2020 à 17:43
30 nov. 2020 à 17:43
bonjour,
peux-tu utiliser les balises de code quand tu partages du code?
https://codes-sources.commentcamarche.net/faq/11288-les-balises-de-code
pourquoi as-tu choisis
peux-tu utiliser les balises de code quand tu partages du code?
https://codes-sources.commentcamarche.net/faq/11288-les-balises-de-code
pourquoi as-tu choisis
Longcomme type pour la valeur retournée par la fonction?
Whismeril
Messages postés
19028
Date d'inscription
mardi 11 mars 2003
Statut
Non membre
Dernière intervention
24 avril 2024
931
Modifié le 30 nov. 2020 à 17:46
Modifié le 30 nov. 2020 à 17:46
Bonjour
pour tes prochains post, merci de lire attentivement, ce petit tuto https://codes-sources.commentcamarche.net/faq/11288-les-balises-de-code
Je ne fais quasiment pas de VBA, et là j'ai pas office sous la main.
Je pars donc d'une supposition se basant sur un point exact en C# (sait on jamais).
Donc en C# si tu divises un nombre entier par un nombre entier sa donne le quotient de la division euclidienne (c'est pas un arrondi).
Par exemple 7 / 2 => 3 car la division euclidienne est : quotient = 3, reste = 1.
Ou encore 20/3 => 6 (si ça avait été arrondi cela aurait été 7).
Toujours en C# pour obtenir le résultat sous forme d'un nombre décimal (double par exemple), il faut faire en sorte que l'un des membres de la division devienne un double: (7 * 1.0) / 2 => 3.5
Je ne sais pas si c'est valable en VBA, mais à tout hasard.
pour tes prochains post, merci de lire attentivement, ce petit tuto https://codes-sources.commentcamarche.net/faq/11288-les-balises-de-code
Je ne fais quasiment pas de VBA, et là j'ai pas office sous la main.
Je pars donc d'une supposition se basant sur un point exact en C# (sait on jamais).
Donc en C# si tu divises un nombre entier par un nombre entier sa donne le quotient de la division euclidienne (c'est pas un arrondi).
Par exemple 7 / 2 => 3 car la division euclidienne est : quotient = 3, reste = 1.
Ou encore 20/3 => 6 (si ça avait été arrondi cela aurait été 7).
Toujours en C# pour obtenir le résultat sous forme d'un nombre décimal (double par exemple), il faut faire en sorte que l'un des membres de la division devienne un double: (7 * 1.0) / 2 => 3.5
Je ne sais pas si c'est valable en VBA, mais à tout hasard.
Whismeril
Messages postés
19028
Date d'inscription
mardi 11 mars 2003
Statut
Non membre
Dernière intervention
24 avril 2024
931
30 nov. 2020 à 17:46
30 nov. 2020 à 17:46
Ha ben, les copains ont trouvé ton erreur je crois.....
yg_be
Messages postés
22720
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
23 avril 2024
1 476
Modifié le 30 nov. 2020 à 17:52
Modifié le 30 nov. 2020 à 17:52
bonjour Whismeril,
c'est valable en VBA, mais un des membres est déclaré comme double:
ce serait plus prudent de s'assurer que le second soit aussi traité comme un double:
ici, c'est la variable où on stocke le résultat final, MoyenneSiCouleur, qui est déclarée comme Long.
c'est valable en VBA, mais un des membres est déclaré comme double:
Dim SommeSiCouleur As Double ' ... SommeSiCouleur = SommeSiCouleur + Cellule.Value
ce serait plus prudent de s'assurer que le second soit aussi traité comme un double:
SommeSiCouleur = SommeSiCouleur + cdbl(Cellule.Value)
ici, c'est la variable où on stocke le résultat final, MoyenneSiCouleur, qui est déclarée comme Long.
Whismeril
Messages postés
19028
Date d'inscription
mardi 11 mars 2003
Statut
Non membre
Dernière intervention
24 avril 2024
931
>
yg_be
Messages postés
22720
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
23 avril 2024
30 nov. 2020 à 18:43
30 nov. 2020 à 18:43
Salut, et oui, j'avais pas fait attention...
Sirrol13
Messages postés
2
Date d'inscription
lundi 30 novembre 2020
Statut
Membre
Dernière intervention
30 novembre 2020
30 nov. 2020 à 18:02
30 nov. 2020 à 18:02
C'est résolu, effectivement problème avec la nature de la fonction ! Merci à tous !