Imbriquer SOMME et ARRONDI en VBA Excel
Résolu/Fermé
Manshiz
Messages postés
184
Date d'inscription
samedi 21 janvier 2006
Statut
Membre
Dernière intervention
18 août 2012
-
2 juin 2011 à 05:26
Manshiz Messages postés 184 Date d'inscription samedi 21 janvier 2006 Statut Membre Dernière intervention 18 août 2012 - 2 juin 2011 à 10:49
Manshiz Messages postés 184 Date d'inscription samedi 21 janvier 2006 Statut Membre Dernière intervention 18 août 2012 - 2 juin 2011 à 10:49
A voir également:
- Imbriquer SOMME et ARRONDI en VBA Excel
- Formule somme excel colonne - Guide
- Si et excel - Guide
- Word et excel gratuit - Guide
- Liste déroulante excel - Guide
- Somme si couleur excel - Guide
5 réponses
lami20j
Messages postés
21331
Date d'inscription
jeudi 4 novembre 2004
Statut
Modérateur, Contributeur sécurité
Dernière intervention
30 octobre 2019
3 569
Modifié par lami20j le 2/06/2011 à 06:15
Modifié par lami20j le 2/06/2011 à 06:15
Salut,
SOMME c'est aussi une fonction personnalisée?
Si oui alors tu n'as qu'à faire appel à la fonction SOMME tout simplement.
et j'ai testé plusieures méthodes sans résultat.
Montre nous ce que tu as testé.
Voici ici un exemple https://jml85.pagesperso-orange.fr/Pages/Excel/Cours/Ecrit/Cours13.html
GNU/Linux:Linux is Not Ubuntu! Quel linux choisir ne veut pas dire votre Distribution préférée,
106485010510997108
SOMME c'est aussi une fonction personnalisée?
Si oui alors tu n'as qu'à faire appel à la fonction SOMME tout simplement.
et j'ai testé plusieures méthodes sans résultat.
Montre nous ce que tu as testé.
Voici ici un exemple https://jml85.pagesperso-orange.fr/Pages/Excel/Cours/Ecrit/Cours13.html
GNU/Linux:Linux is Not Ubuntu! Quel linux choisir ne veut pas dire votre Distribution préférée,
106485010510997108
Manshiz
Messages postés
184
Date d'inscription
samedi 21 janvier 2006
Statut
Membre
Dernière intervention
18 août 2012
10
Modifié par Manshiz le 2/06/2011 à 07:13
Modifié par Manshiz le 2/06/2011 à 07:13
Bonjour lami,
ça y est, j'ai trouvé. Voici la solution.
Merci quand même pour le lien.
Sage est celui qui veut apprendre.
ça y est, j'ai trouvé. Voici la solution.
Public Function ARRONDIR_SOMME(Plage As Object) Dim Indice As Double, cell As Range, Somme As Double, Total As Double Application.Volatile Indice = 0.5 For Each cell In Plage Somme = Somme + cell.Value Total = Round(Somme / Indice, 1) * Indice Next ARRONDIR_SOMME = Total End Function
Merci quand même pour le lien.
Sage est celui qui veut apprendre.
lami20j
Messages postés
21331
Date d'inscription
jeudi 4 novembre 2004
Statut
Modérateur, Contributeur sécurité
Dernière intervention
30 octobre 2019
3 569
Modifié par lami20j le 2/06/2011 à 07:07
Modifié par lami20j le 2/06/2011 à 07:07
Salut,
ça y est, j'ai trouvé. Voici la solution.
Tant mieux ;-)
Merci d'avoir poster la solution.
GNU/Linux:Linux is Not Ubuntu! Quel linux choisir ne veut pas dire votre Distribution préférée,
106485010510997108
ça y est, j'ai trouvé. Voici la solution.
Tant mieux ;-)
Merci d'avoir poster la solution.
GNU/Linux:Linux is Not Ubuntu! Quel linux choisir ne veut pas dire votre Distribution préférée,
106485010510997108
lami20j
Messages postés
21331
Date d'inscription
jeudi 4 novembre 2004
Statut
Modérateur, Contributeur sécurité
Dernière intervention
30 octobre 2019
3 569
Modifié par lami20j le 2/06/2011 à 07:26
Modifié par lami20j le 2/06/2011 à 07:26
For Each cell In Plage
Somme = Somme + cell.Value
Total = Round(Somme / Indice, 1) * Indice
Next
ARRONDIR_SOMME = Total
En revanche je ne vois pas pourquoi tu mets le calcul de Total dans la boucle, vu que c'est la valeur finale qui t'intéresse et pas les valeurs intermédiaires.
En tout cas à l'intérieur de la boucle à chaque passage on affecte une autre valeur et à la sortie de la boucle la fonction renvoie le dernier total.
Une fois que tu as finis de additionner les cellules il suffit d'arrondir à la fin la somme obtenue.
Et puis Somme n'est pas une fonction (c'est ça que j'ai cru selon ton message) mais une variable.
Somme = Somme + cell.Value
Total = Round(Somme / Indice, 1) * Indice
Next
ARRONDIR_SOMME = Total
En revanche je ne vois pas pourquoi tu mets le calcul de Total dans la boucle, vu que c'est la valeur finale qui t'intéresse et pas les valeurs intermédiaires.
En tout cas à l'intérieur de la boucle à chaque passage on affecte une autre valeur et à la sortie de la boucle la fonction renvoie le dernier total.
Une fois que tu as finis de additionner les cellules il suffit d'arrondir à la fin la somme obtenue.
For Each cell In Plage Somme = Somme + cell.Value 'additionne les cellules Next ARRONDIR_SOMME = Round(Somme / Indice, 1) * Indice
Et puis Somme n'est pas une fonction (c'est ça que j'ai cru selon ton message) mais une variable.
Manshiz
Messages postés
184
Date d'inscription
samedi 21 janvier 2006
Statut
Membre
Dernière intervention
18 août 2012
10
Modifié par Manshiz le 2/06/2011 à 09:40
Modifié par Manshiz le 2/06/2011 à 09:40
re lami,
je te remercie pour cette correction. Tu as tout à fait raison.
Good Long Week :-)
Sage est celui qui veut apprendre.
je te remercie pour cette correction. Tu as tout à fait raison.
Good Long Week :-)
Sage est celui qui veut apprendre.
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Manshiz
Messages postés
184
Date d'inscription
samedi 21 janvier 2006
Statut
Membre
Dernière intervention
18 août 2012
10
2 juin 2011 à 10:49
2 juin 2011 à 10:49
Suite à la remarque de lami voici le code simplifié.
Function ARRONDIR_SOMME(Plg As Range) Application.Volatile Dim Indice As Double Indice = 0.5 ARRONDIR_SOMME = Round(WorksheetFunction.Sum(Plg) / Indice, 1) * Indice End Function