Arrondis intelligents?

  • Initiateur de la discussion Initiateur de la discussion Jean-Yves23
  • 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 !

J

Jean-Yves23

Guest
Bonsoir le forum,

Je suis actuellement occupé à réaliser un fichier pour répartir les objectifs de vente annuels par vendeur et par produit.

Je suis confronté à deux problèmes pour lesquels je ne trouve pas de solution, ce pourquoi je me permets de vous déranger.

J'ai créé 3 types de répartition (plage G5:G13) : "aucune", "uniforme" et "fctn des objectifs /vendeurs". Le calcul diffère donc en fonction du type de répartition lié. De plus, j'ai rajouté un tableau (en %) pour "forcer" certaines valeurs manuellement (plage B5:F13).

Malheureusement, en procédant de la sorte, les valeurs obtenues ne sont pas entières. J'aimerais donc obtenir des valeurs entières pour les chiffres répartis (plage B16:F24) en tenant compte du fait que la somme des objectifs des vendeurs pour un produit doit rester strictement égale à l'objectif fixé pour ce produit. En résumé, il faudrait une fonction d'arrondi "intelligente" qui prenne en compte l'objectif produit.

D'ors et déjà merci à tous ceux qui auront le courage de lire jusqu'ici.
 

Pièces jointes

Re : Arrondis intelligents?

Bonsoir Jean-Yves23,

Avec la fonction ARRONDI que tu peux inclure dans ta formulation, tu peux arrondir à deux chiffres derrière la virgule (Arrondi(...;2), à 1 chiffre (arrondi...;1), au plus près avec (arrondi(...;0), voire même (arrondi(...-1) etc. Faire des tests.

D'autres types d'arrondis existent aussi. Voir en cliquant sur fx de la barre d'outils Standard.

Bonne soirée et bonnes Pâques.

Jean-Pierre
 
Re : Arrondis intelligents?

Bonsoir pitbull, Bonsoir Jean-Pierre,

Un grand merci pour vos réponses rapides. Effectivement, je pense que la fonction arrondi est un peu plus puissante que je ne l'imaginais. Ca devrais faire l'affaire pour mon application.

Joyeuses pâques à vous deux.
 
Re : Arrondis intelligents?

Bonsoir à tous
Problème courant de fermeture... ...que je ne sais pas résoudre de façon générale.
À pit bull : seule les lignes 19, 20 et 21 sont correctes.​
Je ne vois guère qu'un tripatouillage dans le tableau lignes 4 à 13. Voir le classeur joint.​
Bonne nuit.
ROGER2327
 

Pièces jointes

Re : Arrondis intelligents?

Bonjour à tous,

Je mets un petit truc que j'ai fait et qui a l'air de fonctionner.

En cliquant sur "optimisation", les valeurs du tableau de base (qui est maintenant à droite avec la colonne "Objectif" en tête) sont traitées par VBA et les résultats vont s'afficher en B16:F24 avec toujours la vérif. "erreur..."

Je n'ai pas essayé mais normalement, en gardant les cellules bleues que j'ai nommées on doit pouvoir ajouter des vendeurs et des produits, en modifiant les valeurs "Nb vendeurs" et "Nb produits" en conséquence.

La feuille est nommée par son nom de code (j'ai mis JY1 - voir dans VBA à "Propriétés") ; cela te permet si nécessaire de renommer comme tu veux l'onglet de ta feuille.

J'ai travaillé avec des tableaux VBA pour que ce soit rapide. Je n'ai cependant aucune idée du temps de traitement si tu as 60000 produits et 250 vendeurs...😀

Si nécessaire, on pourrait supprimer le bouton et lancer le code en détectant une modif. mais, pour ce faire, il faudrait recenser tout ce qui peut modifier le tableau de base ; il faudrait donc désigner les zones qui, lorsqu'une de leurs cellules est modifiée, entraînent une modification dans le tableau de base l...à moins que quelqu'un ait une autre idée... (si je le lance systématiquement à chaque recalcul cela va traîner...)

Le principe :

- on copie les données valeur/vendeur et objectif dans un tableau
- on recopie dans un second tableau en ne gardant que la partie entière et l'on garde les parties décimales seules dans le premier tableau
- on cherche par ligne, le maxi de la ligne de parties décimales colonne par colonne
- tant que le total des parties entières de la ligne est inférieur à l'objectif on ajoute 1 à la valeur entière correspondant à la colonne du maxi. (on met le maxi des parties décimales à zéro afin de l'oublier au coup d'après et trouver un "nouveau" maxi)

J'ai choisi le maxi car c'est celui qui était le plus près de basculer vers l'unité supérieure qui doit être majoré.

Cordialement
 

Pièces jointes

Re : Arrondis intelligents?

Bonjour Roger, Mecano, pitbull, Jean-Pierre,

Effectivement, Roger a raison. Je ne l'avais pas remarqué au premier coup d'oeil mais certaines lignes n'affichent pas la bonne somme avec la fonction arrondi utilisée tel quel.

La solution de Mecano retient toute mon attention (même si je ne suis pas un fada du VBA). L'idée de séparer les parties entières et décimales et de les utiliser pour arrondir au mieux est absolument génial!
A moins que la PME qui m'emploie ne se développe de façon extraordinaire, je pense qu'il n'y a pas de risque que le tableau comporte 6000 produits et 250 vendeurs. Si cela devait se produire, j'espère que la courbe de mon salaire suivra la même exponentiel. 🙂

NB : Pour Roger : 5 vendeurs x 9 produits ==> le système à 45 inconnues du post précédent. J'ai malheureusement du renoncer à le traiter de façon matricielle. J'ai donc "simplement" fait une formule "Si" mais qui est beaucoup moins sexy que la solution matricielle.

Joyeuse Pâque à tous,
 
Re : Arrondis intelligents?

Bonjour,

Si tu n'aimes pas le VBA, voici quelque chose qui semble fonctionner avec des formules.

Comme j'utilise la fonction Excel GRANDE.VALEUR et que tu as des valeurs identiques (parties décimales), j'ai dû tricher en ajoutant un très petit nombre aux valeurs ( différent pour chaque colonne)...

Je n'ai pas regroupé les formules pour que tu voies comment c'est fait et surtout pour ne pas me tromper 😀...(si MONIQUE passe par là, elle te donnera une solution avec une seule formule de moins de 20 caractères...)

Les résultats peuvent être légèrement différents de ceux de l'autre version puisqu'avec les valeurs identiques, on ne choisit pas de la même façon celle que l'on va augmenter de 1.

Je pense quand même que la première solution est préférable car il y aura forcément des modifs et ajouts...avec celle-ci ça risque d'être un peu difficile...

Cordialement
 

Pièces jointes

- 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
Assurez vous de marquer un message comme solution pour une meilleure transparence.
Retour