Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

[Résolu] Inclure SUM dans ma fonction personnalisée

  • Initiateur de la discussion Initiateur de la discussion Lone-wolf
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

Lone-wolf

XLDnaute Barbatruc
Bonjour à tous,

j'aimerais inclure Sum dans ma fonction, en gros, faire la somme d'une ligne et d'une colonne et arrondir.


Code:
Public Function ARRONDIR(Nombre As Double, Nb_chiffres As Double) As Double
Dim indice As Double
indice = 0.5
ARRONDIR = Round(Nombre / indice, 1) * indice
End Function

Dans l'aide je n'ai rien trouvé, et j'ai testé plusieures méthodes sans résultat.
Merci pour votre aide


A+ 😎
 
Dernière édition:
Re : [Résolu] Inclure SUM dans ma fonction personnalisée

Bonjour à tous,
Tout ça, pour ça:
VB:
Public Function ARRONDIR2(Plg As Range)
Application.Volatile
Dim indice As Double
indice = 0.5
ARRONDIR2 = Round(WorksheetFunction.Sum(Plg) / indice, 1) * indice
End Function
Cordialement
EDIT Voir
VB:
Public Function ARRONDIR2(Plg As Range)
Application.Volatile
ARRONDIR2 = Round(WorksheetFunction.Sum(Plg) / 0.5, 1) * indice
End Function
Cordialement
 
Dernière édition:
Re : [Résolu] Inclure SUM dans ma fonction personnalisée

Re Efgé,

je ne comprends pas pourquoi ça affiche #VALEUR quand je clique sur FX, et quand je clique sur enregistrer le total s'affiche. 😕 😕 😕


A+ 😎
 
Dernière édition:
Re : [Résolu] Inclure SUM dans ma fonction personnalisée

Bonjour à tous,
Parce que,comme d'habitude, j'ai été trop vite....
VB:
Public Function ARRONDIR3(Plg As Range)
Application.Volatile
ARRONDIR3 = Round(WorksheetFunction.Sum(Plg) / 0.5, 1) * 0.5
End Function
Cordialement
 
Re : [Résolu] Inclure SUM dans ma fonction personnalisée

Re,

c'est toujours la même chose. Alors j'ai repris cet exemple.

Code:
Option Explicit

Function ARRONDIR(Plage As Object)
Dim cell As Range, Total As Double, nb As Double

nb = 0.5

For Each cell In Plage
  Total = Total + cell.Value
Next
ARRONDIR = Round(Total / nb, 1) * nb

On Error Resume Next
If IsError(ARRONDIR) Then ARRONDIR = ""
End Function

J'ai aussi ce petit problème, les totaux ne se déduisent pas automatiquement, quand je modifie les nombres.

A+ 😎
 
Dernière édition:
Re : [Résolu] Inclure SUM dans ma fonction personnalisée

Re 🙂,
Quitte à souhaiter faire ramer Excel, une version quasi aussi rapide qu'en formule
Code:
Function ArrondirJNP(Plage As Range)
Application.Volatile
ArrondirJNP = Application.WorksheetFunction.MRound(Application.WorksheetFunction.Sum(Plage), 0.05)
End Function
Comparé à la dernière fonction d'Efgé, on est en moins d'une seconde contre environ 5 seconde, toujours pour 10000 lignes sur 11 colonnes 🙄...
Bon WE 😎
 
Re : [Résolu] Inclure SUM dans ma fonction personnalisée

Re à tous,
Comme je ne peux utiliser les "like" je poste et m'explique,
La dernière proposition de JNP est très subtile, elle montre qu'il est inutile de réinventer l'eau chaude puisqu'elle (sa proposition, pas l'eau chaude 🙄) utilise la fonction ARRONDI.AU.MULTIPLE(SOMME(A1:A12);0,05), mais sous forme de formule parsonalisée.
Cette proposition, digne du "Quai d'Orsay" permet
1 de prouver que les formules sont plus rapides que les formules personalisées
2 de permetre à Lone-wolf d'économiser 23 frappes de touches 😉.
Cordialement
 
Réactions: JNP
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

J
Réponses
13
Affichages
1 K
K
Réponses
6
Affichages
2 K
K
R
Réponses
6
Affichages
3 K
richardM
R
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…