Calcul dynamique de valeurs avant transfert de textbox sur fichier

Bonjour le forum,

Je travaille sur un projet en VBA actuellement, étant néophyte, j'ai récupéré une parti de ce code sur le net que je tente d'adapter à mon projet.

Sur l'userform2 partie d'accés à ma fiche compteur, sur la partie droite, nous avons 2 parties:

1 ére partie : partie saisie des consommations, 12 textbox de janvier à décembre, correspondant à des consommations mensuelles de compteur

2 ème partie : partie synthèse, ou l'on retrouvera des calculs issu des données stockés dans l'onglet "Base", ou à stocker dans celui ci.

Ce que je recherche dans cette partie, c'est qu'elle soit dynamique, c'est à dire qu'elle fasse apparaitre le résultat immédiatement à partir du moment ou je modifie la partie consommation et qu'en validant, le résultat se stock ensuite dans l'onglet Base.

C'est ce que j'ai réussi à faire avec le total des consommations, mais comme c'est du texte, il me met 0 au niveau de mon onglet "Base" ( colonne W )

Comment faire pour obtenir la bonne valeur sur l'onglet "Base".

Le principe sera le même pour toutes les autres textbox de cette partie.

Comme je l'ai précisé au début , je débute en VBA, des points de blocages, j'en rencontre 13 à la douzaine, aussi y a il une personne qui pourrait m'accompagner sur ce projet, cela me permettrait de progresser ainsi.

je joins le fichier en exemple.

Merci

Mamarus

Bonjour,

Un premier ti-bout ... l'alimentation du Userform2.

J'ai remplacé le TextBox2 par un combobox "Cbo_Sites" alimenté via la colonne B de la feuille "Base"

ric

Bonjour,

J'ai simplifié l'addition des conso des mois.

J'ai automatisé la moyenne.

Pour les autres calculs de la section "Synthèse", je ne veux pas deviner les calculs à faire.

Donc, si tu pouvais me mettre au parfum ...

ric

Bonjour ric,

Merci pour l'aide apportée, je te répondrai en fin d'après midi sur le complément d'information .

Merci

Mamarus

ric,

Merci à nouveau pour l'aide apportée, cela m'aide beaucoup, cependant j'avais gardé la recherche intuitive, car sur le projet final, je vais avoir plus de 1000 compteurs à gérer, et en listbox, c'est pas très lisible, avec la recherche intuitive, on a accès directement à la fiche . Si on peut ne pas changer cette partie là, ce serait bien, pour le restant voici les explications avec des exemples :

Données à saisir par l'utilisateur :

Textbox : Prix au M3, Seuil, et Conso de N-1,

Données qui vont se calculer et dont le résultat apparaitra dans les Textbox :

Total consommations et Moyenne ==> vu déjà ensemble

c'est la moyenne qui est maître

Calcul du: % / seuil : = cas ou la moyenne est > au seuil : = moyenne / seuil ex: si moyenne = 1000, seuil = 800 - % / seuil = 1000/800 = 1.25 * 100 = 125 %

si la moyenne est < au seuil =( ( moyenne /seuil ) -1 )*100, ex : moy = 800, seuil 1000, 800/1000=0.8 - 1 = -0.2 * 100 = -20 %

si la moyenne est > au seuil le résultat sera en rouge, si < il sera en vert.

Conso Mens de N-1 : = Moyenne de N-1 / le recensement du nombre de mois de consommations remplis dans la 1 ère partie, ex si arrété à septembre ce sera 9 ex: conso moy de N-1 = 12500 , nombre de mois = 9 , 12500 / 9 = 1389 ( on arrondi )

Economie en % :

Conso de N / Conso de N-1/ (prorata du nombre de mois passé de N) ex si septembre = 9

ex: conso N : 15000 ( à fin septembre ) / conso de N-1 = (25000de l'année / 12)* 9 = 18750, nous établissons une situation théorique cumulée à fin septembre.

ensuite ( même principe que le % / seuil ), ici c'est la Conso de N qui est maitre

15000/18750=0.8 - 1 = -0.2 * 100 = - 20 % : Résultat Idem l'histoire des couleurs si < ou > à 0

Economie en € : Même principe que le % , mais en incluant le prix du M3 et le résultat en € : ex prix du M3 = 1.60 € (1 M3 = pour 1000 au niveau des conso)

Ex : 15000-18750 = - 3750

  • 3750 /1000 = - 3.75 ( pour ramener au M3
  • 3.75 * 1.60 € = - 6 € : Résultat Idem l'histoire des couleurs si < ou > à 0

L'ensemble de tous ces calculs se mettront à jour à l'écran au fur et à mesure que nous rentrerons des consommations et les résultats au moment de valider seront stockés sur l'onglet "Base".

D'où la complexité de la chose à mettre en place.

Tu me suis Toujours !!!

je rencontre un autre problème sur la case à cocher EV, le principe est que si la case, est cochée, il sera noté dans la colonne AH, à la bonne ligne concernée du compteur un "EV".

j'avais fait une boucle de 100 lignes, mais cela ne fonctionne pas, il manque la partie du code ou il attribue le "EV" à la ligne concernée et non pas à toutes les lignes.

Voilà maintenant tu sais tout de ce projet et de sa mise en place, Merci de ta contribution

Cordialement,

Mamarus

Bonjour,

Good, je vais regarder ce que je peux faire dans tout cela.

ric

Rebonjour,

Economie en % :

15000/18750=0.8 - 1 = -0.2 * 100 = - 20 % : Résultat Idem l'histoire des couleurs si < ou > à 0

Là, je suis un peu perdu, car tu n'utilises pas les mêmes termes que sur les boutons.

Conso de N > c'est quoi ?

Serais-tu assez aimable pour me traduire cela avec les mêmes termes qu'il y a sur les "Label" descriptifs des textbox ?

Dans "Synthèse" on a :

  • Prix au M3
  • Total Conso
  • Seuil
  • Moy Mens
  • % / Seuil
  • Conso N-1
  • Conso Mens N-1
  • Eco en %
  • Eco en €

ric

bonjour ric,

tu trouveras ci après les correspondances ,à chacun j'ai mis sa textbox concernée, ce sera plus simple pour la compréhension.

  • Prix au M3
  • Total Conso : c'est ce que j'ai appelé le Conso de N ( total conso de l'année en cours ) textbox 23

- Seuil Textbox 24

- Moy Mens Textbox 25, c'est Total conso / nombre de mois saisis

- % / Seuil Textbox 26 cas ou la moy Mens est > au seuil

- Conso N-1 Textbox 27 ( c'est la consommation globale de l'année précedente, cette donnée est rentrée par l'utilisateur )

- Conso Mens N-1 Textbox 28 c'est conso N-1 / le recensement du nombre de mois de consommations remplis dans la 1 ère partie

- Eco en % Textbox 29 c'est Total conso / conso de N-1 ex : (25000 de conso N-1 ( de l'année ) / 12)* 9 = 18750, nous établissons une situation théorique cumulée à fin septembre.

- Eco en € Textbox 30 Même principe que le % , mais en incluant le prix du M3 et le résultat en € : ex prix du M3 = 1.60 € (1 M3 = pour 1000 au niveau des conso)

c'est (Total conso - conso de N-1) /1000 et x prix du M3 , en fait, c'est le même principe que l'Eco en % , sauf que nous soustrayons au lieu de diviser, ce qui permet de dégager l'économie faite en €

Ex : 15000-18750 = - 3750

  • 3750 /1000 = - 3.75 ( pour ramener au M3
  • 3.75 * 1.60 € = - 6 €

Voilà, j'espère que ce sera plus clair ainsi.

Merci

Mamarus

Bonjour,

Un petit pas ...

Le prix au M3 (textbox31) ne se complète pas à 1,60 si je tape seulement 1,6 > ça reste à faire.

Le transfert des données dans la feuille "BASE" n'est pas encore prêt.

Mais pour l'instant, j'aimerais que tu valides les calculs pour voir s'il ne persiste pas de coquilles.

ric

re bonjour Ric,

j'ai testé cela, j'ai volontairement enlevé les conso de Août à décembre, pour voir comment cela réagit, le total des consommations est bon et sa moyenne aussi.

Cependant, au moment de valider, il met une erreur d’exécution 6 " dépassement de capacité" , je suppose que c'est normal

Merci pour le travail qui est fait,

mamarus

Bonjour,

Ouupppssss! Confusion de langage ... quand je mentionnais "valider", je voulais dire valider sur les calculs sont bons.

Le bouton "Valider" n'a pas été touché. Je n'ai même pas regardé ce qu'il était supposé faire.

ric

Bonjour,

Voici une version où le bouton "Valider" fonctionne .

Il reste à tester si ça convient.

Si tu as d'autres soucis, n'hésite pas ...

ric

Bonjour ric,

Merci avant tout pour le travail effectué, c'est balaise, surtout si on tient compte du peu de temps qu'il ta fallut pour mettre en place les calculs.

Cependant sur la dernière mouture, j'aurai plusieurs doléances à te soumettre :

Tout d'abord, Le principe : tous les calculs, une fois apparue, doivent se stocker dans l'onglet "Base" par le biais du bouton Valider, là nous avons que le total des consommation et sa moyenne qui y est. c'est que j'aurai besoin de toutes ces données par la suite, pour faire des recherches. Je ne peux m'expliquer, 1 coup ils sont stockés, 1 coup pas ?

- je t'ai parlé de la case à cocher qui se trouve dans la fiche compteur, on y trouve la case à cocher et un % EV à rentrer

* pour le bouton de la case à cocher, son principe est une fois coché, il notera "EV" sur le compteur concerné à l'onglet "Base", à la colonne AH ( si pas coché, rien ) cela nous permettra plus tard d'extraire les compteurs EV de la masse des compteurs.

(j'ai fait une boucle pour une centaine de lignes estimé, mais cela ne fonctionne pas, il me met des "EV" partout.)

* Le % EV ( textbox 32 ) est lui bien stocké dans l'onglet "Base", mais on devra calculer et stocker le montant EV ( onglet Base, colonne AG )

celui ci n'apparait pas sur la grille de l'userform2, mais idem celui ci me servira plus tard pour des recherches ou des calculs.

son calcul est le suivant: ( total conso ( Textbox 23 ) * % EV ( textbox 32))/100

la finalité étant de chiffrer la part EV ( EV = Espace Vert ) par rapport à l'ensemble des conso du compteur sélectionné

Enfin dernière chose, il me semble que le texbox 30 " Eco en € ", ne soit pas actif, celui ci n'apparait pas dans les calculs

Cela en fait un petit peu des choses à voir.

Si tu peux y jeter un œil, je t'en remercie par avance.

Cordialement;

Mamarus

Bonjour,

Je vais regarder cela aujourd'hui.

ric

Bonjour,

Voici une version dans laquelle je crois avoir répondu à toutes les demandes concernant la partie modification des données (bouton "Recherche" feuille "Accueil").

Je n'ai pas regardé la partie ajout de données (bouton "Ajouter" feuille "Accueil").

Il reste, par contre, la partie débogage du code à faire.

C'est à dire :

  • Valider que les calculs sont corrects.
  • Valider la saisie > voir s'il ne persiste pas des bogues à la saisie de mauvaises informations ou cases laissées vides, etc.

ric

Bonjour ric,

merci pour le travail fait;

Suite au Test voici les constats faits :

Case à cocher, si je la coche, il bug en m''affichant une erreur d'execution 5

"Eco en € " , partie rouge / verte n'apparait pas, néanmoins le calcul est bon. Les calculs de la partie Synthèse sont correct dans l'ensemble.

Quand on rapelle une fiche, dans La partie synthèse : seul le total conso et sa moyenne apparaissent, pourtant le restant est bien dans l'onglet "BASE"

Quand je valide , parfois cela passe et parfois il bug avec une erreur d'execution 5 " Argument ou appel de procedure incorrect"

Sur la partie graph, toutes les données mensuelles, n'apparaissent plus.

j'en suis conscient, C'est le principe du Mikado, quand on touche a quelque chose, tout se déboite

Merci pour l'aide apporté,

Bon courage,

Cordialement;

Mamarus

Bonjour,

Je regarde cela ...

ric

Bonjour,

V8...

Je n'ai eu qu'à ajouter textbox24, 27 et 31, le reste, ce sont des calculs.

La case à cocher, c'est mon erreur ... j'ai vu le 1 dans la marge et n'ai pas vu le goto 1 plus haut, je l'ai supprimé pensant à une mauvaise manipulation de ma part. C'est rétabli.

Textbox30 effectivement, j'avais zappé ce bout-là.

L'erreur d'exécution 5 découle encore du " 1 " que j'avais effacé en nettoyant un peu le code à la fin.

Pour le graphique, les données sont bien transmises dans la feuille "Graph" ... est-ce bien cela que tu mentionnais ?

ric

Bonjour ric,

oui, c'est bien cela pour le graph, concernant les modifications, dés que je rentre dans une fiche compteur, j'ai tenté de tester la case à cocher, il bug dés le départ , Erreur 53, "fichier introuvable" ,en me renvoyant sur le graphique, tu as une ligne de code que tu as mis en commentaire, j'ai enlevé le ' mais rien n'y fait, , du coup, je n'ai rien pu tester.

Sur la partie Synthèse, Après vérification, mais c'est moi qui t'ai induit en erreur, le problème lors de ma vérif était sur 12 mois, je ne l'ai pas vu, je m'explique, Si l'on rentre dans une fiche compteur, et que l'on modifie sur les consommations le nombre de mois ex: arrêté à septembre, soit 9 mois par exemple, la textbox 28 de la partie "conso mens de N-1", doit être égale à la Conso de N-1 /12, c'est tout.

ex fiche compteur de "multiculturel", 9 mois de saisi, moyenne Mens : 1942 , je rentre 15000 en conso de N-1, 15000 cela doit me donner une moyenne de 1250 ( 15000/12 ), là nous es affiché 1666, ( 15000/9) .

c'est dans les calculs en éco ( % et € ) ( textbox 29 et 30 ) que nous aurons besoin de réétablir une conso théorique de n-1 ( c'est à dire, Total/ 12 et X par le nombre de mois ( cette partie là, fonctionne bien )

Voilà je sais pas si j'ai été clair , j'ai eu du mal moi même à me relire.

Merci

Mamarus

Bonjour,

Dis-moi ... quelle version de Excel utilises-tu ?

Je demande car la case à cocher ne me donne pas d'erreur sur ma machine (Excel 2016).

ric

Rechercher des sujets similaires à "calcul dynamique valeurs transfert textbox fichier"