Calcul complexe avec taux horaire, nb d'heure et % tarif de nuit

Résolu/Fermé
JazzyOntheRock Messages postés 37 Date d'inscription mercredi 25 août 2010 Statut Membre Dernière intervention 12 septembre 2015 - Modifié par JazzyOntheRock le 25/10/2013 à 21:32
JazzyOntheRock Messages postés 37 Date d'inscription mercredi 25 août 2010 Statut Membre Dernière intervention 12 septembre 2015 - 31 oct. 2013 à 11:22
Bonjour à vous tous,



Merci aux actifs du forum pour l'aide que vous apportez aux pèlerins tel que moi !



Je fini par venir chercher votre aide car je ne trouve pas quelles formules appliquer...

En clair, je tente de faire évoluer ma feuille de facturation (ma facture) pour quelle puisse me sortir un total en fonction de sous-totaux calculés à partir de : tarif de prestation*nb d'heure + *0.25 en fonction du nombre d'heure de nuit... et c'est la que ça coince...

J'ai donc une colonne (B) avec la date de la prestation, une autre (C) avec un menu déroulant pour choisir le type de prestation (produit) qui affiche un taux horaire dans la troisième colonne (D), une colonne (E) avec le nombre d'heure de nuit (peut-être inexistant), une autre (F) avec un menu déroulant contenant le nombre d'heure total et enfin ma colonne résultat (G).


J'ai donc réussi à avoir dans la colonne G un calcul type : D*F [Heu...Youpi ?]


J'aimerai que le calcul prenne en compte un nombre d'heure de nuit (E), si il y en a... Ce qui donnerait en (G) un calcul type: (Taux horaires * Nb heure) + ((si Nb heure nuit) * taux horaire * 0.25%)



Mes questions sont:

Comment mettre tout ça en formule pour que je n'ai plus qu'a choisir un type de prestation, choisir un nombre d'heure total puis à entrer un nombre d'heure de nuit, si il y en a ?

Comment ne pas obtenir #VALEUR! dans ma colonne resultat (G) si rien n'est choisi dans mon premier menu déroulant sans que ça ne bloque mon calcul total (G35)?



Voici un lien avec mon fichier excel, ça sera peut-être plus parlant : https://www.cjoint.com/?CJzvbliAjRw


Merci pour vos avis éclairés, parce que là, franchement, je ne trouve pas comment procéder...



Bien à vous,
Lui.


4 réponses

JazzyOntheRock Messages postés 37 Date d'inscription mercredi 25 août 2010 Statut Membre Dernière intervention 12 septembre 2015 3
Modifié par JazzyOntheRock le 26/10/2013 à 00:09
Finalement, j'ai fini par trouver les réponses à mes questions.

Pour le calcul prenant en compte (ou pas) les heures de nuit : pour l'exemple en G14 =SOMME(D14*F14+D14*0,25*E14)

Pour ne plus avoir #VALUE! dans ma colonne de résultat et pouvoir obtenir un résultat final (en G35) : dans mon premier menu, j'avais laissé une ligne pour avoir un choix en blanc, j'ai donc remplacé le "rien" par un espace " " pour lui donner un corps et lui ai donné un taux horaire de 0. J'ai ensuite créer deux règles de mise en forme conditionnelle pour changer en blanc la couleur du "0" dans la colonne tarif (D) et du " - €" dans la colonne montant (G).


Le résultat me semble bon et me convient mais est-ce la bonne façon de procéder ou est-ce du bricolage ?


Merci à vous.



PS: Une petite question en passant, comment vider mon tableau (tout sélectionner puis touche supp) sans effacer mes formules ?
0
via55 Messages postés 14403 Date d'inscription mercredi 16 janvier 2013 Statut Membre Dernière intervention 24 avril 2024 2 703
25 oct. 2013 à 23:47
Bonsoir

Primo les SOMME(D14*F14) est inutile , D14*F14 suffit

Si j'ai bien compris les heures en F sont les heures totales y compris les heures de nuit et les heures de nuit sont payées 25% de plus donc la formule à mettre en G14 serait :
=SIERREUR(D14*(F14-E14)+E14*D14*1,25;"")

on multiplie le nb d'h total moins les h de nuit pas le tarif horaire et on ajoute les h de nuit multipliées par le tarif horaire multiplié par 1,25

Le SIERREUR permet d'afficher d'afficher du vide (le "" en fin de formule) au lieu du message d'erreur #VALEUR et ne bloque donc plus le total

Cdlmnt


0
JazzyOntheRock Messages postés 37 Date d'inscription mercredi 25 août 2010 Statut Membre Dernière intervention 12 septembre 2015 3
30 oct. 2013 à 19:36
Bonsoir,

Tout d'abord, pardon de vous répondre si tardivement, j'ai dû m'absenter quelques jours et n'ai donc pas pu suivre la discussion.

Merci pour cette formule, c'est en effet plus logique et évite la mise en forme conditionnelle.


Je souhaiterais maintenant pouvoir donner un peu plus de souplesse à ma facturation en appliquant un tarif particulier aux heures de nuit et non pas un arbitraire 25%. Je vais creuser la question de mon coté et reviendrai sur ce sujet si je n'arrive à rien.


Merci encore,
Lui
0
JazzyOntheRock Messages postés 37 Date d'inscription mercredi 25 août 2010 Statut Membre Dernière intervention 12 septembre 2015 3
30 oct. 2013 à 22:13
Voici ma solution trouvée:

J'ai rajouté une troisième colonne dans le champs pour mon menu déroulant concernant le type de prestation (C) pour y ajouter un tarif particulier pour les heures de nuit. J'ai ensuite ajouter une fonction RECHERCHEV.


Ce qui donne:


=SIERREUR(D14*(F14-E14)+(SI(C14="";"";RECHERCHEV(C14;$D$36:$F$40;3;FAUX)))*E14;"")


Le soucis est que la fonction SIERREUR n'est pas compatible avec toutes les version d'Excel. J'ai tenté de contourner ça avec un ESTNA mais cela semble faire trop de fonction à la fois.

Ai-je un moyen de résoudre ça et de faire que n'importe lequel de mes clients puisse ouvrir ma facture sans erreur depuis n'importe quel version d'excel ??



Merci pour conseils experts !
0
via55 Messages postés 14403 Date d'inscription mercredi 16 janvier 2013 Statut Membre Dernière intervention 24 avril 2024 2 703
31 oct. 2013 à 01:42
Bonsoir

Pour les versions précédentes utilises la fonction ESTERREUR ainsi :

=SI(ESTERREUR(D14*(F14-E14)+(SI(C14="";"";RECHERCHEV(C14;$D$36:$F$40;3;FAUX)))*E14)=1;"";(D14*(F14-E14)+(SI(C14="";"";RECHERCHEV(C14;$D$36:$F$40;3;FAUX)))*E14))

Cdlmnt
0
JazzyOntheRock Messages postés 37 Date d'inscription mercredi 25 août 2010 Statut Membre Dernière intervention 12 septembre 2015 3
31 oct. 2013 à 11:22
Bonjour,

Merci pour cette fonction, en effet l'enregistrement se passe désormais sans message de prévention.
En revanche, j'ai dû modifier la formule en enlevant le =1 de cette fonction sinon un #VALEUR! apparaissait en résultat en cas de ligne vierge, vous saurez pourquoi mieux que moi...

donc:

=SI(ESTERREUR(D14*(F14-E14)+(SI(C14="";"";RECHERCHEV(C14;$D$36:$F$40;3;FAUX)))*E14);"";(D14*(F14-E14)+(SI(C14="";"";RECHERCHEV(C14;$D$36:$F$40;3;FAUX)))*E14))


Je pense être arrivé au bout de mon projet car le résultat est efficace et modulable. Merci à via55 pour votre aide.


Bonne journée ou bonne soirée à vous,
L.
0