Calcul dynamique de valeurs avant transfert de textbox sur fichier

Bonjour,

Pour les symboles Euro dans les textbox, c'est mort ... ce ne sera pas possible. Ça pose problème, car ces textbox servent à des calculs ... on se retrouve avec des boucles infinies. J'ai tenté de gérer, mais je n'avais que bogue sur bogue, soit en ajout ou en validation ... l'enfer quoi.

S'il y a une façon de gérer, je ne la connais pas. Il faut se souvenir qu'un textbox ne peut contenir que du texte. On converti ce texte en chiffre avec des commandes tels : Cdbl, Cint, etc. Le symbole euro ne peut être converti, il est du texte ... on l'enlève avant pour le remettre ensuite ... on se retrouve avec une boucle infinie.

Pour le plantage sur le bouton "Photo de Situation", tu avais remplacé le Label40 par un bouton commande sans corriger le code. J'ai replacé le Label et l'actualisation de la feuille "Base" devrait se faire correctement.

Maintenant, dans un ajout de compteur, on ne peut pas saisir de l'info dans les textbox 24, 27 et 31 (en jaune) s'il n'y a pas de consommation dans au moins un mois. Sinon, c'est compliqué à actualiser les calculs des synthèses.

Le numéro du compteur de 11 caractères n'est pas géré. 1 ou 50, ça passe. Pour la concordance avec la photo, seulement les 11 premiers caractères sont utilisés.

J'ai fait des tonnes de tests, tout semble en ordre ... à part les symboles euro et les numéros de compteur.

ric

Bonjour ric,

Merci pour le boulot, y en avait gros sur ce coup là.

pour les Textbox en €, on laisse tomber, j'ai rajouté dans les label ça ira bien .

j'ai fait une version avec un bouton synthèse, à la place du label, cela fonctionne pour 2 textbox qui sont dans le calcul les 26 et 29, cela coince pour la textbox 30 puisque cela fait appel à une moyenne et j'ai une erreur de DIV/0, du coup j'ai pas continué.

- j'avais pensé à quelque chose d'un peu simpliste: un simple Goto qui reprend tout le corps du bouton valider, sauf la fin , puisqu'il faut rester sur l'userform.

- Autre chose, j'avais penser à inserer un bouton Quitter , cela permet de sortir , avant de se retrouver avec des bugs qui risquent de s'enchainer.

Je sais pas ce que tu en penses.

Mamarus

Bonjour,

... j'ai fait une version avec un bouton synthèse, à la place du label, cela fonctionne pour 2 textbox qui sont dans le calcul les 26 et 29, cela coince pour la textbox 30 puisque cela fait appel à une moyenne et j'ai une erreur de DIV/0, du coup j'ai pas continué....

Les DIV/0 sont faciles à contourner avec un test préalable sur les textbox concernés.

Mais, qu'est-ce que tu veux faire faire exactement à ce bouton ?

... j'avais penser à inserer un bouton Quitter , cela permet de sortir , avant de se retrouver avec des bugs qui risquent de s'enchainer. ...

C'est une excellente idée.

ric

Bonsoir Ric,

En testant la dernière version envoyée , je me suis aperçu que si tu rappelai une fiche compteur, que l'on faisait des modifications sur les consommations, la textbox30 ( Eco en € ) ne se recalcule pas. j'ai beau valider cette fiche, sortir puis rappeler cette même fiche, cela ne veut rien savoir. Les autres calculs eux réagissent bien. ( en exemple : "Place du marché " )

Par contre, lorsque nous remplissons la première fois les consommations et les autres éléments à saisir de la synthèse, le calcul de la Texrtbox30 fonctionne bien.

Je te joins la dernière version, que tu m'a envoyée avec l'original de mon fichier Base , j'ai juste rajouté le bouton "Quitter".

Merci et Bonnes soirée,

Mamarus

Bonjour,

J'ai revu certaines petites choses ... les calculs devraient être meilleurs.

Une difficulté, il n'y a que 3 textbox_change qui déclenchent les calculs.

J'ai réussi à les rendre un peu plus interactifs en les multipliant par 1 à certains endroits ... ce qui déclenche leur événement "_change" ... donc leur calcul.

Je ne sais pas si tu es un adepte du déplacement dans les formulaires par la touche "TAB" ... j'ai quand même revu l'ordre de déplacement.

En fermant le userform2, même si le userform1 est encore à l'écran, les changements dans la feuille "Base" sont déjà appliqués.

J'ai aussi modifié les formats des colonnes où il y a des nombres dans la feuille "Base" ... sauf la ligne 1 que j'ai remis en "standard".

Espérant le tout conforme ...

ric

Bonjour Ric,

j'ai testé le fichier corrigé, ça bug dés que tu rentres sur une feuille existante et que tu veux renseigner le prix du m3.

J'ai pas testé en ajout

Ne peut on pas revenir sur quelque chose d'assez simple , à savoir qu'il tienne compte des éléments qu'on lui renseigne tant en modification d'une fiche compteur ou en ajout d'une nouvelle fiche compteur et qu'au moment ou on valide il calcul et stocke les données dans l'onglet Base.

On s'est rapproché de ça , à un moment, j'ai cru bien faire en voulant rajouter le bouton "synthèse" de manière à ce que les calculs soient interactifs , mais finalement cela a compliqué la chose, et à chaque fois cela fait bouger le bloc, et on multiplie les bugs.

Je sais pas ce que tu en penses, je devais le présenter à ma hierarchie ce matin, je vais reporter.

Mamarus

Bonjour,

Je suis désolé, à la dernière minute, en voulant ajouter le format du textbox31 ... ça a posé problème.

Il faillait que je le place dans AfterUpdate ... là ça fonctionne mieux.

ric

Re bonjour Ric,

J'ai testé la partie accés à une fiche déjà existante , avec modification à l'interieur, cela à l'air de fonctionner, en revanche en mode Ajout, il bug avec un message Erreur 13, incompatibilité de type. J'ai pas pu continuer le test.

Par ailleurs, une question : CE logiciel devrait fonctionner en fichier partagé avec 4 personnes, y a t'il un risque de conflit si 2 personnes l'ouvrent ou travail sur la même fiche en même temps, as tu eu ce genre de cas à gérer ?

Merci

Mamarus

Bonjour,

Désolé pour les coquilles désagréables rencontrées.

Il faut se rappeler que je suis en formation et que j'ai peut être trop de chaudrons sur le feu.

Pour le partage, je n'en suis pas un partisan et n'en ai aucune expérience.

Pour le partage avec peu de gens, je me serais tourné vers Access.

ric

Bonjour Ric,

Effectivement si tu as trop de chaudrons sur le feu, je peux comprendre, j'en ai repéré d'autres, pas méchante, je te propose de faire un break, je vais essayer de me débrouiller de mon coté, si je solutionne pas je pourrai te contacter sous 8 - 10 jours

Tu me dis si t'es ok

Bonne journée,

Mamarus

Bonjour Ric,

J'ai fait un bon nombre de test et sur l'ensemble on est bon, hormis une dernière coquille que j'ai repéré sur l'userform2, mais dont je n'arrive pas à trouver la solution.

Il s'agit de la textbox31 ( prix au m3 ) , lorsqu'on valide une nouvelle fiche compteur, tous les calculs sont bons, Au moment de la validation, cela inscrit sur le fichier "Base", 1.20 dans la textbox31 avec un montant N-1 en € à 0, normal vu qu'il est lié à celle ci.

Si je rappelle cette fiche et que je modifie le prix du m3, tout l'ensemble devient bon.

Le 1.20 c'est moi qui l'ai volontairement mis ( à la place du 1 ), en fait dans un premier temps, j'ai incrémenté toutes les lignes de codes ou les textbox31 apparaissaient , de manière à repérer quelle ligne de code posait problème.

.Cells(Fin, 31).Value = .Cells(Fin, 31).Value * 1.2: ' ********* Probleme ici *******

Je sais pas si t'as moyen de résoudre ce dernier petit problème sans trop faire bouger le tout.

Par ailleurs, j'ai l'intention de faire sur l'onglet Base une recherche multicritère, j'ai l'intention d'utiliser le filtre avancé d'Excel , sauf qu'il ne gère pas les cellules vides de l'onglet Base, et du coup il plante, as tu une astuce à tout hasard pour cela

Merci

Mamarus

Bonjour,

J'ai tricoté deux manches avant de trouver quelque chose qui fonctionne.

>> j'ai ajouté une macro dans Userform2 > UserForm_Activate.

Je n'ai pas placé dans Intitialize ... car, le Userform2 est rempli par le Userform1 et ça donnait une erreur.

Le but est de simuler la modification du textbox31 afin de forcer le recalcul.

Tant qu'à être sur ce textbox, si le "chiffre" affiché n'a qu'un caractère après la virgule ... on ajoute un 0 pour faire tout beau.

Pour tester l'effet ... mets en commentaire la macro UserForm_Activate et en passant le UserForm1 > recherche les z et choisis "ZAG 4" ... le calcul ne se fait pas dans textbox33 > quitte sans valider pour ne pas avoir de changement dans la feuille Base.

Remets en fonction la macro UserForm_Activate > retourne sur le choix "ZAG 4" ... le recalcul du textbox33 s'est fait et le chiffre 1,2 et devenu 1,20.

Est-ce bien le souci que tu cherchais à corriger ?

ric

bonjour Ric,

Oui c'est bien cela que je cherchais, sur un test j'ai eu une grande frayeur, sur une création d'un compteur , j'ai la textbox29 qui est resté vierge , sans calcul à l'intérieur ! , j'ai refait quelques test depuis, ce phénomène a disparu.

Par ailleurs, je dois faire une recherche multi critères sur l'onglet Base, je compte utiliser la fonction filtre avancé d'Excel , le seul hic est que l'on doit avoir des cellules pleines sur l'ensemble du tableau pour pouvoir extraire, ce qui n'est pas le cas, as tu à tout hasard, une astuce qui puisse suppléer ce problème.

Pour cela et pour tout l'ensemble, je te remercie encore une fois.

Mamarus

Bonjour,

Malheureusement non, je n'ai pas de suggestion pour la recherche multicritère.

Mon expérience des tableurs est plutôt limitée.

Tu pourrais peut-être ouvrir un nouveau sujet afin d'intéresser d'autres personnes plus dégourdies.

ric

re bonjour Ric,

Oups ! ! ! j'ai crié victoire trop tôt, le problème de la textbox29 ( eco en % ) est réapparu, nous avons cette case vierge, cela se traduit si on met un montant à priori important dans la conso de N-1 par rapport à la conso de N du type 1800 en conso de N et 250000 en N-1 ( le N est plus petit que le N-1, c'est censé sortir en vert avec fond gris), j'avais pensai à une limitation de capacité du val ou du cdbl. j'ai fait des essai, mais rien n'y a fait. c'est la partie verte de la textbox29 qui ne fonctionne pas.

si y a possibilité de voir le cas.

Merci

Mamarus

Bonjour,

Je mijote une nouvelle façon de présenter les calculs dans le code, où presque tous les calculs seraient dans la même macro ... dans l'espoir de trouver une façon de fiabiliser tout cela.

En passant : recherche multicritères ... peux-tu me donner quelques exemples de recherches correspondantes à ton besoin ? En particulier sur quels items les recherches ...... ?

Je reviens bientôt.

ric

Bonjour,

Tant qu'à réviser le code de fond en comble > je joins un fichier .txt comprenant des bouts de tes messages où tu mentionnes les calculs à faire avec des exemples.

Peux-tu me valider tout cela s.t.p. ?

Merci à l'avance.

J'avance dans la nouvelle structure du code et ça semble prometteur.

A+

ric

Bonjour Ric,

j'ai modifié et mis à jour le fichier envoyé

Pour les exemples, j'ai pris la fiche "Fontaine - place du marché" sur le fichier gestion des fluides15 fixe, cela te servira de repères.

Merci

Bonne journée,

Mamarus

Bonjour,

Ne pas désespérer, j'ai eu un contretemps

J'ai presque terminé la révision.

ric

Bonjour Ric,

Si tu as moyen de mettre des commentaires sur différents bloc du nouveau code, afin que je puisse comprendre comment qu'il est monté, si des fois j'ai à y jeter un œil.

Question : j'ai vu que l'on pouvait le compiler, est ce une bonne chose et qu'est ce que cela apporte, cela lui permet t'il d'être autonome et de ne pas avoir besoin du support d'Excel pour fonctionner ? est ce cela entre autre ?

j'ai fais et fini la partie recherche multicritères sur Excel et cela fonctionne impeccable. si tu en veux une copie, pas de souci

Bonne journée,

Mamarus

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