| ||||||||
Astucien | bonjour chers amis, je suis a la recherche d'une formule ou code vba pour calculer un cout reel - les explications sont donnees dans le classeur ci joint http://www.cijoint.fr/cjlink.php?file=cj201105/cijZyq7nzf.xls en vous remerciant Modifié par vieuxmonsieur le 04/06/2011 21:00 | |||||||
Publicité | ||||||||
| ||||||||
Petit astucien | Bonjour, Attention dans le calcul écrit en rouge il y a un problème. Ce n'est pas 85 et 19 litres mais bien 89 et 15 600-511 = 89 à mutiplier par E4 prix 1ère livraison et 615 - 600 = 15 à mutiplier par E5 prix seconde livraison.
| |||||||
Astucien | bonjour, Tu n'as pas deja traité un probleme similaire dans un fichier pour une assos ? Où il etait question de fruits ou de produits que l'assos achetait et tu voulais le prix de revient du colis donné aux participants,sachant que le prix d'achat variait en fonction des livraisons. Me tromperais-je ? Modifié par DjiDji59430 le 28/05/2011 17:38 | |||||||
Astucien | bonjour a vous chers amis, je vous remercie en tout premier de vous interresser a cette demande de ma part. Djidji : oui j'ai eu un probleme a peu pres similaire mais cependant different de celui-ci rj : effectivement j'ai constate cette erreur de ma part, desole ceopendant le sujet demeure entier en vous remerciant chaleureusement | |||||||
Astucien | Bonjour à tous, Après avoir pensé utiliser du code VBA pour gérer les approvisionnements et des formules pour la consommation, il s'est avéré que l'on pouvait traiter avec des formules, ce qui est préférable s'agissant de résultat à faire apparaître au fur et à mesure des saisies. J'ai débouché sur 2 solutions, la première respectant la méthode initiée dans le modèle qui consiste à imputer chaque sortie sur l'approvisionnement le plus ancien jusqu'à épuisement de ce dernier avant de passer au suivant ; la seconde, pour laquelle je ne cache pas ma préférence en raison de la gestion plus réaliste des coûts qu'elle induit, consiste lors de chaque approvisionnement à recalculer le coût unitaire du produit contenu dans la citerne en fonction de la part que représente chaque quantité dans le total résultant de l'approvisionnement (qui ne sauraient plus être séparées une fois mélangées). Ainsi dans la seconde solution, le calcul du coût de produit sorti se fait toujours sur un seul prix unitaire, ce qui n'est pas le cas dans la première et qui aboutit à complexifier nettement les formules utilisées. Je livre donc les deux : Solution 1 : http://cjoint.com/?AEDo2JPchpO Solution 2 : http://cjoint.com/?AEDo24CZb6Y Une autre voie aurait été de traiter le problème entièrement en VBA, en faisant opérer toutes les saisies au moyen de Userform (le Userform facilite la procédure de saisie, la sécurise du fait que l'utilisateur ne saisit plus sur la feuille, et garantit son bon déroulement du fait que toutes les macros sont lancées au moment où elles doivent l'être). Egalement avec deux solutions possible... | |||||||
Petit astucien | Bonsoir, Je mets quand même une solution en VBA. Programme pas très documenté, manque de temps. Mais si vous voulez je peux le faire plus tard.
http://www.cijoint.fr/cjlink.php?file=cj201105/cijdCiAQNS.xls maintenant Bonne nuit à tous
| |||||||
Astucien | bonjour à vous deux chers amis, je vous remercie de tout mon coeur pour le travail que vous avez accompli l'un et l'autre et qui me touche profondément - je suis d'accord a 100% avec toi Fernand pour l'utilisation d'userform mais je suis incapable de le faire - de plus, ca impliquerai que toute l'application soit faite de cette facon et ce doit etre un travail vraiment enorme que je ne peux solliciter meme si je sais par experience que les utilisateurs aiment bien jouer avec les formules et finissent par sortir des resultats incoherents. je n'ai pas trop le temps de regarder car je vais passer des examens medicaux (3 jours en clinique) mais je pense que je vais garder la solution par vba pour une utilisation par des anciens collegues et compte tenu de ce que je vous disais ci avant - merci d'avance pour une meilleure documentation. je vous souhaite de passer une tres bonne semaine et vous dis a bientot merci a vous deux (que ce mot est petit pour exprimer ce que je ressent) | |||||||
Petit astucien | Bonjour, Vieux monsieur bonjour, une version un peu nettoyée. Je documenterai encore un peu plus pendant les trois jours. Je vous souhaite un bon succès pour vos examens médicaux, et surtout que cela permette de vous soignez efficacement. Courage vieux monsieur ça va aller. Corrections terminées nouveau fichier mis le 30/05/2011 à 18:57 http://www.cijoint.fr/cjlink.php?file=cj201105/cij9tcFWPH.xls A bientôt. Modifié par rj390111 le 30/05/2011 18:57 | |||||||
Astucien | bonsoir chers amis, je viens de rentrer de l'hosto et je suis un peu fatigue, je reviendrai donc sur le forum lundi prochain pour rj (que je remercie ainsi que fernand, dont je garde precieusement ses formules) si on efface les donnees en H4:I16 et que l'on renseigne de nouveau H4 rien ne se passe et parfois la ligne : For Each cel In Range(Cells(LigneDebutLiv, 4), Cells(LigneFinLiv, 4)) se met en surbrillance en vous souhaitant une bonne soiree et un bon week-end - ici il pleut beuuuhhh | |||||||
Petit astucien | Bonsoir vieuxmonsieur, J'espère que votre séjour en hopital n'a pas été trop désagréable. Vous avez raison il y avait un problème quand on encodait un premier plein. Bisarement Excel VBA donne la valeur 65536 à finDeLigne.... quand il n'y a qu'une ligne. Ce qui provoque un problème car je l'avais initialisé en Integer. J'ai corrigé cela, et j'en ai profité pour ajouter quelques vérifications supplémentaires. Si besoin je peux essayer d'expliquer des points qui vous paraîtraient obscurs. Voilà le fichier corrigé. http://www.cijoint.fr/cjlink.php?file=cj201106/cijDflodgK.xls Bon courage et bon WE. R. JAMIN | |||||||
Astucien | bonjour rj je suis tres content car mon sejour a l'hosto s'est bien passe oui - d'apres les medecins les analyses sont bonnes, la fatigue venant de ce que le corps lutte et produits des anticorps et cette etape est toujours fatiguante d'apres eux et j'ai bon espoir de plus ils m'ont dit que le stress est a eviter pour en revenir a ce que tu as fait c'est genial je t'en remercie puis je me permettre d'etre gourmand ? ne peut on au lieu de "Attention vous devez réencoder une livraison" que ceci apparaisse sous forme de messagebox comme celui ci Message = MsgBox("Il n'y a pas encore de carburant, vous devez d'abord renseigner une livraison", , "Avertissement") en te remerciant et en vous souhaitant un bon week end car chez moi gros orages et 20 cm d'eau dans ma cour
| |||||||
Astucien | quelque chose du genre : If FormulaR1C1 = ("=SUM(R[3]C:R[19]C)") > FormulaR1C1 = ("=SUM(R[3]C:R[19]C)") Then mais ou le placer je vous remercie bien fort | |||||||
Petit astucien | Bonjour, Essayer ceci, j'ai supprimé les avertissements par formules et j'ai ajouté quelques lignes dans le code pour faire la vérification que la Qu totale prélevée ne dépasse pas la Qu totale livrée, si c'est le cas on a un message d'avertissement et on quitte le programme. http://www.cijoint.fr/cjlink.php?file=cj201106/cijdHDaxc2.xls Faire attention quand on renseigne une livraison de ne pas oublier d'indiquer son prix unitaire. De plus le plein qui a entraîner le message doit être réencoder dasn la même cellule après l'encodage de la livraison. Faites quelques essais et tenez moi au courant.
| |||||||
Astucien | cher ami, bonsoir, cela devient vraiment excellent, juste une petite question : peut-on eviter de revenir a chasue saisie d'un plein en H4 je te remercie pour ton aide precieuse tout comme celle de Fernand, sans vous je n'y serai pas arrive je vous souhaite une tres bonne soiree et un aussi bon dimanche merci encore a vous deux | |||||||
Petit astucien | Bonsoir, Je suis étonné car ici après chaque saisie d'un plein le curseur ce repositionne sur la première cellule vide de la colonne H Je vous joins à nouveau le fichier sait-on jamais. http://www.cijoint.fr/cjlink.php?file=cj201106/cijPEvrVao.xls Les orages arrivent sur la Belgique. BON DIMANCHE | |||||||
Petit astucien | Bonsoir, Je suis étonné car ici après chaque saisie d'un plein le curseur ce repositionne sur la première cellule vide de la colonne H Je vous joins à nouveau le fichier sait-on jamais. http://www.cijoint.fr/cjlink.php?file=cj201106/cijPEvrVao.xls Les orages arrivent sur la Belgique. BON DIMANCHE | |||||||
Astucien | en fait si tu saisi 1000 a 2.29 en livraison (par exemple) tu fais 2 ou 3 plein puis tu efface les pleins et le cout des plein tu tape de nouveau un plein puis un 2 - un 3 tu verras je sais je pinaille et abuse de ta patience car ton travail est super je t'en remercie | |||||||
Astucien | ceci ne viendrait-il pas de la (dernier tiers du code) : 'Calcul du prix du plein | |||||||
Astucien | effectivement, j'ai mis un ' devant et c'est ok je mets resolu en te remerciant ainsi que ferrand pour votre aide vous etes des chefs | |||||||
|
Les bons plans du moment PC Astuces | Tous les Bons Plans | ||||||||||||||||||
|