Afficher date du jour sans mise a jour avec condition
Bonjour,
Je découvre peu à peu Excel 2016. Je rencontre une difficulté et je ne trouve pas la solution sur les forums.
Je cherche à afficher la date du jour lorsqu'une case est remplie, sinon elle doit rester vide.
De plus, je veux que la date ne soit pas mise à jour à l'ouverture du fichier. La date doit rester celle où la cellule a été remplie.
J'ai essayé en A6 :
=SI(C6="";"";AUJOURDHUI())
Mon problème avec cette formule est que cette date est mise à jour lors de l'ouverture du fichier.
Est-ce que quelqu'un a une proposition? (sans macro)
J'espère que mon problème est clair. En pièce jointe, vous trouverez une partie du fichier pour l'illustrer.
Crdlt,
Stup
Bonjour Mbbp,
Merci pour ta réponse. Je suis un débutant sur Excel et je pense que mon problème n'est pas nouveau. Cependant, ton fichier ne répond pas tout à fait à ma question.
Si je supprime ta valeur en C6, la date n'est pas cachée, or je veux que la cellule soit vide.
Désolé d'être aussi mauvais.
Tu as utilisé :
=SI(OU(C6=0;C6="");AUJOURDHUI();A1)
Je ne comprends pas le A1 dans ta formule.
Si j'utilise :
=SI(ET(C6=0;C6="");"";AUJOURDHUI())
Ca fonctionne, mais je ne suis pas certain que ma date reste figée.
Une confirmation?
A1 pour reprendre la date figée.Stup3ur a écrit :Je ne comprends pas le A1 dans ta formule.
Si j'utilise :
=SI(ET(C6=0;C6="");"";AUJOURDHUI())
Ca fonctionne, mais je ne suis pas certain que ma date reste figée.
Avec la formule que tu proposes, la date ne reste pas figée.
A1 pour reprendre la date figée.
Sauf que je n'aurais pas de date à reprendre dans la cellule. Je n'ai pas de date fixe.
J'essaie de faire un tableau de gestion de compte pour le suivi d'argent de poche des résidents d'un établissement.
Sur chaque nouvelle ligne utilisée, la date du jour du crédit/débit doit s'afficher automatiquement pour éviter d'avoir à l'écrire et pour protéger la cellule. La date doit s'afficher en A6 seulement si la cellule C6 est remplie et elle doit être figée pour savoir à quel moment le débit/crédit a été réalisé.
Stup3ur a écrit :La date doit s'afficher en A6 seulement si la cellule C6 est remplie et elle doit être figée
S'il y a une nouvelle opération à enregistrer sur une ligne, pourquoi renseigner la cellule en colonne C avant celle en colonne A ?
En colonne A : appuyer sur les touches CTRL;
Cette date (celle du jour) restera figée.
mbbp a écrit :S'il y a une nouvelle opération à enregistrer sur une ligne, pourquoi renseigner la cellule en colonne C avant celle en colonne A ?
En colonne A : appuyer sur les touches CTRL;
Cette date (celle du jour) restera figée.
La feuille est protégée. La colonne A (date) n'est pas accessible, elle est verrouillée. La colonne B indique un numéro de ticket, sauf qu'elle ne sera pas tout le temps remplie, notamment lors d'un dépôt d'argent. Donc, j'utilise la colonne C qui sera tout le temps renseignée.
Je connais la manipulation avec CTRL, cependant vu que la colonne est verrouillée, je ne peux pas l'utiliser.
De plus, je ne veux pas ajouter une manipulation à faire pour remplir la cellule.
Je suis débutant sur Excel, mais mes collègues sont encore plus novice.
Bonsoir,
On traite le plus souvent ce genre de problème par une évènementielle qui réagira au changement de valeur en C pour inscrire la date en A si un contenu en C ou l'effacer si C est effacée. Une fois mis en place, c'est transparent pour l'utilisateur et la date ne change pas...
Cela évite de jongler avec références circulaires + calcul itératif... Mais si tu ne veux pas de macro... ! En tout cas, aucune formule ordinaire ne peut répondre à la question : une formule est toujours destinée à se recalculer...
Cordialement.
Merci pour ta réponse MFerrand.
Je comprends pourquoi je galère. Je ne suis déjà pas doué avec les formules, je ne sais absolument pas faire une macro.
Une proposition?
Si tu viens sur un Forum, c'est bien pour chercher de nouvelles pistes ! Non ?
Ton fichier laisse penser qu'il y aura plusieurs feuilles dans la même situation... Si donc plusieurs feuilles sont concernées, on ne va pas coder chaque feuille, on code une seule procédure au niveau classeur pour toutes les feuilles, en excluant celles qui ne devront pas être concernées...
Une idée plus précise de la structure de ton classeur serait donc utile !
Par ailleurs ton classeur allégé fait apparaître la totalité des noms invalidés. Vu leur nombre, je ne suis pas persuadé de l'utilité de tous, et s'il y a matière à alléger il convient de le faire car c'est dès le départ qu'il faut faire en sorte de conserver un classeur léger et d'utilisation fluide...
Autre exemple, l'utilisation de tableaux Excel s'avère intéressante à condition d'en exploiter les aspects positifs... Lors de sa création, un tel tableau comporte inévitablement une ligne de données, vide s'il n'y a pas encore de données, mais il est tout à fait inutile au-delà de former un tableau comportant quantité de lignes vides ! Il est souhaitable de le limiter aux lignes de données existantes, Excel se charge d'inclure dans le tableau, automatiquement, toute ligne nouvelle saisie immédiatement sous le tableau !
Cordialement.
MFerrand a écrit :Si tu viens sur un Forum, c'est bien pour chercher de nouvelles pistes ! Non ?
Oui, je suis ici pour trouver une solution. Ai-je laissé penser le contraire? Je parlais de proposition avec macro.
MFerrand a écrit :Ton fichier laisse penser qu'il y aura plusieurs feuilles dans la même situation... Si donc plusieurs feuilles sont concernées, on ne va pas coder chaque feuille, on code une seule procédure au niveau classeur pour toutes les feuilles, en excluant celles qui ne devront pas être concernées...
Une idée plus précise de la structure de ton classeur serait donc utile !
Effectivement, mon classeur contient plusieurs feuilles, une feuille par personne accueillie au sein de la structure.
Comme je l'ai dit précédemment, je ne connais absolument pas l'utilisation des macros ! Toutes les feuilles sont concernées, sauf la page de données évidemment.
MFerrand a écrit :Par ailleurs ton classeur allégé fait apparaître la totalité des noms invalidés. Vu leur nombre, je ne suis pas persuadé de l'utilité de tous, et s'il y a matière à alléger il convient de le faire car c'est dès le départ qu'il faut faire en sorte de conserver un classeur léger et d'utilisation fluide...
Je n'ai pas mis la base de données, et j'ai modifié les noms, donc les erreurs ne me semblent pas aberrantes. Je ne suis pas informaticien, codeur, expert Excel, membre de la team Microsoft, etc.
Je pense que par exemple les zones d'impressions peuvent être déterminées autrement, sauf que je n'ai pas trouvé d'autres solutions pour le moment. Sinon, je ne vois pas de quoi tu parles.
MFerrand a écrit :Lors de sa création, un tel tableau comporte inévitablement une ligne de données, vide s'il n'y a pas encore de données, mais il est tout à fait inutile au-delà de former un tableau comportant quantité de lignes vides ! Il est souhaitable de le limiter aux lignes de données existantes, Excel se charge d'inclure dans le tableau, automatiquement, toute ligne nouvelle saisie immédiatement sous le tableau !
Je comprends ton propos, mais comme précédemment je n'ai pas trouvé d'autres solutions pour le moment, notamment pour que la formule de solde et les listes soient reproduites sur la ligne suivante.
Cordialement.
Bonjour,
Si j'ai utilisé "nouvelles pistes", c'était bien à propos de macros...
Si tu n'es pas familier de VBA, il s'agit bien de nouvelle piste à explorer, susceptible de te rendre les services que ne peuvent t'offrir d'autres méthodes...
En complément de ce que j'ai dit sur les tableaux Excel, il faut ajouter que Excel y étend automatiquement les formules des champs calculés... ainsi quand une ligne s'ajoute, les formules s'il y a lieu sont insérées dans les colonnes calculées de la ligne !
Quand à mes propos sur les noms, je vais te l'illustrer rapidement : j'ai une base de données sur une feuille, je vais me contenter de nommer la première colonne de ladite base (nom dynamique couvrant les données et s'adaptant donc en permanence à l'extension de la base).
Cela me suffit amplement :
- pour connaître à tout moment le nombre de lignes de données de la base,
- pour affecter une nouvelle ligne à la base, à la première ligne qui suit,
- pour cibler n'importe quel champs (colonne) de la base,
- et d'une façon générale pour atteindre n'importe quelle cellule de la feuille, même située hors de la base, en utilisant une expression simple combinant quelques mots-clés...
J'ajoute qu'en cas de tableau Excel, Excel incorpore automatiquement un nom (nom du tableau, qui couvre exclusivement la partie données). Ce nom est utilisable en VBA (il ne l'est pas forcément dans les mêmes conditions dans Excel...), et dans ce cas je n'ajoute aucun nom, j'utilise ce dernier qui remplit le même rôle !
Cordialement.
Je vais essayé de suivre tes recommandations et explorer la piste du VBA. Cependant, je dois mettre en place le fichier dès demain. Par conséquent, je pense que je vais utiliser mon classeur pour le moment et essayer de le simplifier/alléger au maximum par la suite. En ce qui concerne la date, je pense qu'une saisie manuelle est obligatoire, tant que je n'aurais pas trouvé ma solution.
Concernant l'ajout de ligne, je comprends tes propos, mais j'ai été confronté à plusieurs problèmes à chaque fois, notamment dans la formule de calcul du solde.
Merci pour vos réponses/conseils.