Insere une date quand la valeur calculé par la fonction somme est modifié

Bonjour à tous, j'ai un code qui insère une date quand une cellule est modifié par l'utilisateur mais je cherche à le faire fonctionner avec la fonction somme pour qu'elle puisse être reconnu par le code afin d'afficher une date quand le résultat est modifié automatiquement par des mises à jour que j’effectue.

j'ai essayé plusieurs tentatives mais sans succès, ayant un niveau de débutant je viens solliciter votre aide.. j'ai mis un fichier de demo avec le code pour comprendre ma demande.

Merci d'avance.

14demo.xlsm (17.47 Ko)

Bonjour,

il faut que tu surveilles K et L aussi.
Change la constante : Const RangeString = "D:D,K:K,L:L"
eric

Tout simplement ça.. :P , je ne comprenait pas la notion de constante et regardais ailleurs..

Un grand MERCI! eriiic pour ton aide.

Je reviens sur ma problématique car la solution d'ériiic n'était pas la bonne finalement j'y avait jeté un coup d'oeil avant d'aller dormir en pensant que cela fonctionnait mais en constatant ce matin que le fait d'ajouter des ranges ne changent rien au problème.. et je suis le seul fautif car je n'ai pas su expliquer correctement le contexte..

j'ai plusieurs feuilles en liens que je mets à jour via une textbox userform ou je rentre des valeurs en nombres et celles ci sont recalculés et récupéré par d' autres feuilles qui additionnes les valeurs et affichent les résultat dans plusieurs cellules et c'est à ce moment que j'aimerais que quand les prochaines valeurs seront recalculés, pouvoir afficher la date comme historique de dernier changement. Donc j'ai tout automatisé pour ne pas avoir à utiliser manuellement mon clavier sur une des feuilles pour y insérer des données.

et ma demande est comment faire pour que la somme des valeurs récupéré par la feuille de mise à jour puissent afficher la date si il y a un changement de 0 à 1 ou 2 à 3 etc.. avec le calcul de la somme car le code ne reconnait pas le calcul mais par clavier oui.

Je comprends que cela semble un peu incompréhensible et j'ai refait une nouvelle démo avec le plus de détail possible afin que ce soit plus compréhensible.

Merci encore et mes excuses par manque de clarté.

16demo2.xlsm (23.17 Ko)

Bonjour,

ben oui, si on ne dit pas tout, on se retrouve avec un truc qui ne convient pas.

Dans ce cas il ne faut pas se soucier de ta formule mais s'occuper de ses antécédents par une fonction personnalisée très simple.
Elle n'est pas volatile et n'est donc ré-évaluée qu'en cas de changement qui la concerne, les autres restent insensibles.
Il faut lui passer en paramètre TOUS les antécédents.
Syntaxe : =dateMAJ((Feuil2!O3;Feuil2!O16))
Attention aux doubles parenthèses nécessaires si plusieurs antécédents.

J'ai mis Now() et un format avec les secondes pour pouvoir tester.
A voir si tu veux remplacer par Date() ou changer seulement le format d'affichage tout en gardant la précision.

18demo2.xlsm (23.78 Ko)

eric

Super! Merci ça fonctionne nickel, je peux même glisser pour attacher les autres.. et pour enlever les heures et garder que la date?

dateMAJ = Date
et mettre le format voulu dans les cellules

Si je peux me permettre eriiic, je suis confronté à un autre problème qui je crois est le problème que j'ai depuis le début, c-a-d que je remarque que quand mon code de capture de couleur plante et affiche des dièses, je dois le réinitialiser et là toutes les dates se mettent à jour, donc comprenant cela je me suis mis à chercher une solution et en parcourant des forums anglais j'ai compris que c'est la commande enable.events false qui désactive la mise à jour des dates ou tout autre fonction , et je demandais si c'était possible de restreindre le now à se mettre à jour uniquement si la valeur désigné change et ne plus s'auto mettre à jour dans le temps.. sinon c'est à chaque fois + de 300 dates que je perds.. Pardon de profiter de tes services mais seul j'y arriverai pas. En te remerciant encore un fois.

c-a-d que je remarque que quand mon code de capture de couleur plante et affiche des dièses, je dois le réinitialiser et là toutes les dates se mettent à jour

je ne sais pas trop de quoi tu me parles (?), et n'ayant pas le code je ne sais quoi te dire pour résoudre ce pb.
Quand c'est bien fait il ne devrait pas y avoir d'erreur, ou bien une gestion d'erreur.

Quoiqu'il en soit, ça pourrait aussi se produire à l'ouverture du fichier où il arrive qu'excel fasse un calculate full.
Je t'ai ajouté une case à cocher pour autoriser les maj dates. Coche quand tu veux les maj auto.
Je décoche à la fermeture pour éviter les accidents.
Peut-être que tout ça pourrait être automatisé, mais ne connaissant pas les conditions de mise à jour des cellules (saisies une par une ?, par macro ? par requête ? Un mélange de ça ?) je ne peux savoir s'il s'agit d'une maj volontaire ou autre. Il faudrait l'ensemble du code et les manip que tu fais pour savoir si c'est faisable.
eric

16demo2.xlsm (29.50 Ko)

Bonjour eriiic, pardon pour ma réponse tardive j'ai du décrocher un peu car ces derniers temps j'ai mangé trop de formules excel et ai fait une indigestion à force de chercher et comprendre par des tutos et formations ici et là.. et en plus j'ai la garde des enfants cette semaine, ce qui arrange pas mon temps libre :p ..

Bref, j'ai relu mon dernier message à ton égard et me suis mis à rire car effectivement c'était pas très clair tout ça.. ce que j'essaie de faire sur excel est un peu une idée qui à germé par quelques écrits et pouvoir m'aider dans mon boulot à référencer des données mais voulant faire ceci et cela font que les taches se compliquent au fur et à mesure quand on à pas les connaissances requise :)

j'ai refait une démo pour illustrer le plus clairement mes dires et espère trouver une solution.. cependant si tu estime que tu m'as assez aidé je le comprendrais parfaitement et irais créer un nouveau post.. donc ne te sens pas obligé ;)

19demo3.xlsm (28.25 Ko)

Bonjour,

j'ai l'impression que tu as pris un mauvais départ et que depuis tu fais rajouter rustine sur rustine pour au final avoir une usine à gaz.

Si tu es amené à mettre du vba, pourquoi cette gymnastique de mettre des MFC suivi d'une fonction (?) pour récupérer la couleur et pour aller remplir un autre tableau qui te servira à mettre une somme dans une cellule ?
Et tes MFC me semblent douteuses. Elle ne s'applique pas à G8 ni J8, mais on la retrouve sur M1, M2 et N1 (?!?) ce qui fait qu'on doute de tout et on ne peut déviner ce que tu n'as pas dit.

Quant à savoir comment sont remplies les cellules, à part répéter que c'est via une boite de dialogue (toujours absente des fichiers), on n'en sait pas plus...
Donc pas moyen de répondre à ta demande précédente.

En vba tu peux directement contrôler si le nombre est listé, si oui mettre une couleur manuelle (si elle est vraiment nécessaire ?) et ta somme et la date dans la cellule qui va bien.
Oublie tes formules, MFC et macro actuelles et repart de zéro en faisant tout (contrôles et écritures, couleurs manuelles si elles sont nécessaires) au moment de la saisies des nombres.
eric

Bonjour eriiic, je vois ce que tu veux dire et tu n'as pas complètement tort, c'est un peu parti dans tout les sens et ça m'a permis aussi d'apprendre pas mal de choses, mais au final pourquoi faire compliqué quand on peut faire simple me diras tu.. bref j'ai su trouver la solution et pour l'instant ça marche à merveille.. je sais que mon invention avec les 1 et tout le reste peut sembler étrange mais c'est comme ça que je l'ai conçu et on va dire que ça fonctionne pour mes besoins avec mon boulot...Voila donc ne nous embêtons plus avec ça.. en tout cas je tenais à te te remercier pour ton aide et tes bons conseils et à bientôt pour de nouveaux tracas qui sait :p

Bonjour,

tu devrais quand même y réfléchir à l'occasion vu que tu te plains de manques de stabilité.
Ca arrive couramment de prendre une direction et au fil des avancées de se dire qu'on aurait dû aborder le problème différemment.
Je n'ai pas une vision totale, mais je suis persuadé que tout mettre à jour lors de la validation de ta boite de dialogue te simplifiera et fiabilisera tout.
A mon avis, 10-20 lignes de codes et c'est fait...
eric

Rechercher des sujets similaires à "insere date quand valeur calcule fonction somme modifie"