Création d'une formule utilisable dans plusieurs classeurs

Bonsoir à tous,

J'utilise très fréquemment une formule et je souhaiterais pouvoir "l'automatiser" afin de ne pas avoir à la retaper dans mes nouvelles feuilles de calcul.

Dans une cellule B27 par exemple (la cellule varie suivant le tableau), j'ai le résultat d'une addition ou d'une soustraction.

Et je veux qu'excel fasse le calcul suivant :

Si B27<8000, alors B27 X 5%

Si B27>8000 et <15000, alors B27 X 10 % - 1000

Si B27>15000 et B27<25000 alors B27 X 15 % - 1500

Etc.

Rédiger la formule ne me pose pas de problème, mais je souhaite ne pas avoir à réécrire ce calcul à chaque fois.

Peut être avec une macro... mais je patauge avec les macros....

Merci de m'avoir lu, et merci de me faire progresser si vous trouvez une solution.

Guillaume

bonjour

si tu veux qu'excel fasse le calcul joint ton fichier

cdt

Ci-joint

à mon sens il y a incohérence dans les bornes, et cela conduit à des valeurs négatives, à toi d'ajuster les paramètres

26streettriple.xlsm (13.75 Ko)

Bonjour,

Merci beaucoup Steelson. J'ai regardé ta méthode. C'est exactement cela.

Les valeurs que j'avais indiquées étaient juste pour l'exemple d'où l'incohérence du résultat.

Donc il faut créer une formule... Je n'avais pas trouvé, ou pas compris, la méthode pour créer des formules...

Je joins un ficher d'exemple La fonction est à appliquer au résultat indiqué en B7.

Et la formule complète (et juste) est dans la cellule B9. Je ne sais pas si l'on peut faire plus simple au niveau de la rédaction...

Donc maintenant questions subsidiaires :

- comment faire pour que cette formule soit utilisable dans toutes mes feuilles de calcul ?

J'ai essayé de bidouiller mais je trouve pas...

- et vraiment très subsidiairement : il s'agit d'un calcul d'impôt, ce qui varie régulièrement... Donc les tranches, et par conséquent le montant à déduire pour tenir compte de la progressivité, sont susceptibles de varier. Auriez-vous une idée pour que lors d'un changement, je puisse faire la mise à jour de la formule simplement en donnant les nouveaux seuils...

Bon mais ça, ce serait vraiment pour arriver à un résultat parfait... Car je devrais pouvoir modifier la fonction...

En tout cas, super merci de l'aide !!!!

Guillaume

Edit :

Désolé, mais j'en rajoute : j'ai essayé d'adapter la formule de steelson à la réalité du calcul, mais quand j'ajoute mon 4ème Then, ben il me dit Erreur de compilation Attendu : fin d'instruction...

Voila ce que j'ai tapé (j'ai renommé la fonction de steelson en dtdirect) :

Function dtdirect(mavaleur)

If dtdirect <= 8072 Then

dtdirect = mavaleur * 0.05

ElseIf mavaleur <= 12109 Then

dtdirect = mavaleur * 0.1 - 404

ElseIf mavaleur <= 15932 Then

dtdirect = mavaleur * 0.15 - 1009

ElseIf mavaleur <= 552324 Then

dtdirect = mavaleur * 0.2 - 1806

ElseId mavaleur <= 902838 Then

Il y a un nombre maxi de Then ? ce serait ça ? Bon vu les valeurs, cela risque pas de m'arriver mais c'est au cas où...

Voilà, Voila...

Merci à ceux qui auront la patience de répondre !!!!!!

Content que cela convienne, c'est hyper simple;

Attention, dans le rajout tu mets Elseid au lieu de Elseif (un f et non un d)

Il n'y a pas de nombre maxi de then

Du reste, il serait plus élégant de mettre plutôt case au lieu de if, mais le résultat est le même

Pour l'évolution des valeurs, je te conseille de créer un onglet "parametres"; dans ce cas, les formules feront appel à ces paramètres : exemple, on remplacera 0,05 par feuille("parametres").range("A1").value en mettant 9,95 en A1 de la feuille parametres

Je te laisse adapter ?

Je suis surpris qu'on ne puisse pas l'utiliser dans tous les onglets ...

C'est facile... quand on sait faire, et vue que j'avais jamais utilisé VBA avant, c'est fort complexe pour moi !

Donc merci beaucoup.

Et c'est ma faute de frappe qui faisait l'erreur, si je corrige cela marche beaucoup mieux

En fait, je voudrais que la fonction soit utilisable dans tous mes classeurs nouveaux, donc là le renvoi à des données dans un autre onglet ne fonctionne pas.

Sauf si l'on peut créer une fonction qui renvoi à un classeur dans lequel j'aurais mes paramètres ... Mais est-ce possible?

Pour l'instant, j'ai réussi à enregistrer un modèle personnel avec cette fonction dans un module ! Donc merci Steelson !

un essai sur le fichier ...

je ne sais pas créer un module utilisable par plusieurs fichiers, mais c'est possible

Bonjour à tous,

Bon je n'ai pas de réponse pour pouvoir intégrer des données d'un autre classeur dans VBA (voir mon dernier message), mais j'ai toutefois pu trouver une solution !

Donc merci beaucoup à Steelson !!!!!

A bientôt

Rechercher des sujets similaires à "creation formule utilisable classeurs"