Afficher la date du jour juste la première fois selon condition

Bonjour à tous,

je cherche à faire un affichage automatique de la date du jour dans une cellule en fonction du résultat d'une autre cellule.

Mais je ne souhaite le faire qu'une seule fois.

Ce qui veut dire que lorsque la cellule qui contient la formule est déjà remplie avec une date la formule ne fait rien (en fait elle ne met plus la date du jour à jour).

Du coup, j'ai une cellule A1 contenant mon pourcentage d'avancement (0 à 100%), dans la cellule B1, ma formule :

=SI(A1=100%;SI(B1<>"";AUJOURDHUI();"");"")

L'idée serait d'afficher automatiquement la date du jour ou je complète cette tâche. Mais comme j'utilise aujourdhui dans ma cellule si je ne trouve pas une parade, la date se mettra à jour à chaque ouverture du fichier, ce que je ne veux évidemment pas.

J'aimerais également me passer des macros.

Cela devrait fonctionner avec cette formule, mais j'ai un problème de référence circulaire.

Avez-vous une idée ou une solution à me proposer ?

Merci d'avance

David.

BOnjour,

Par formule n'y compte pas ; tu le dis toi même Aujourdhui ne sera plus aujourdhui demain

par vba lors de l'évènement "quand ta feuille change"

Private Sub Worksheet_Change(ByVal Target As Range)
'Target "représente" la cellule modifiée, on peut donc en déduire la valeur, la ligne et la colonne
'En considérant les cellules avec la liste déroulante en colonne A,
'si le changement n'est pas dans une cellule de cette colonne on sort, ça rend le code plus rapide
If Target.Column <> 1 Then Exit Sub

'On vérifie si la cellule modifiée contient le mot 100%
'Si c'est = alors on place dans la cellule
If Target.Value = "100%" Then Cells(Target.Row, Target.Column + 1) = Date

End Sub

Bonjour dav999, Xmenpl , toutes et tous,

Par formule il faut d'abord:

  • Aller sur l'onglet "Fichier"
  • Puis sur "Options"
  • Puis sur "Formules"
  • Et cliquer dans la case "Activer le calcul itératif"

Mettre cette formule en "B1"

=SI(A1<>1;"";SI(B1<>"";B1;AUJOURDHUI()))
5dav999.xlsx (9.92 Ko)

Cordialement.

Bonjour dav999, Xmenpl , toutes et tous,

Par formule il faut d'abord:

  • Aller sur l'onglet "Fichier"
  • Puis sur "Options"
  • Puis sur "Formules"
  • Et cliquer dans la case "Activer le calcul itératif"

Mettre cette formule en "B1"

=SI(A1<>1;"";SI(B1<>"";B1;AUJOURDHUI()))

dav999.xlsx

Cordialement.

BOnjour Mdo,

Pas certains de connaître le mode itéractif mais il me semble que cela doit servir à limiter le nombre de fois ou excel recalcul non ?

Dans ce cas Quand A1 passera de 20% à 30% puis 50% …… et enfin 100% comment va-til deviner que la formule doit se déclencher uniquement quand A1=100% puis ne plus recalculer ?

Il y a un paramètrage dans l'itéraction ?

Re Xmenpl,

En activant le "calcul itératif" cela permet de faire référence à une cellule sur elle même, "référence circulaire".

Du coup dans ce cas, si "B1" = vide et que "A1"<>1 (où autrement dit 100%) alors on laisse "B1" = vide, mais si "A1"=1 alors "B1"= AUJOURDHUI() ce qui fait que la date ne changera pas le lendemain puisque "B1" n'ai pas vide.

Par contre si le lendemain, on ré-écrit 100% dans "A1" alors la date se mettra à jour.

Je ne sais pas si je me suis bien fait comprendre.

Voici un lien sur le calcul itératif ==> https://support.office.com/fr-fr/article/modification-du-recalcul-de-l-it%C3%A9ration-ou-de-la-pr%C3%A9cision-des-formules-dans-excel-73fc7dac-91cf-4d36-86e8-67124f6bcce4

Cordialement.

Re Xmenpl,

En activant le "calcul itératif" cela permet de faire référence à une cellule sur elle même, "référence circulaire".

Du coup dans ce cas, si "B1" = vide et que "A1"<>1 (où autrement dit 100%) alors on laisse "B1" = vide, mais si "A1"=1 alors "B1"= AUJOURDHUI() ce qui fait que la date ne changera pas le lendemain puisque "B1" n'ai pas vide.

Par contre si le lendemain, on ré-écrit 100% dans "A1" alors la date se mettra à jour.

Je ne sais pas si je me suis bien fait comprendre.

Voici un lien sur le calcul itératif ==> https://support.office.com/fr-fr/article/modification-du-recalcul-de-l-it%C3%A9ration-ou-de-la-pr%C3%A9cision-des-formules-dans-excel-73fc7dac-91cf-4d36-86e8-67124f6bcce4

Cordialement.

Ok je comprend un peu mieux la fonction cette fois ci

Re Xmenpl,

En activant le "calcul itératif" cela permet de faire référence à une cellule sur elle même, "référence circulaire".

Du coup dans ce cas, si "B1" = vide et que "A1"<>1 (où autrement dit 100%) alors on laisse "B1" = vide, mais si "A1"=1 alors "B1"= AUJOURDHUI() ce qui fait que la date ne changera pas le lendemain puisque "B1" n'ai pas vide.

Par contre si le lendemain, on ré-écrit 100% dans "A1" alors la date se mettra à jour.

Cordialement.

Whoo..

Merci ca fonctionne du feu de dieu .

Je connaissais pas l'astuce sur les calculs itératifs, j'ai laissé l'option par défaut (100 itérations), j'imagine que dans mon cas j'aurais très bien pu mettre juste 1 ?

Bon week end.

David

Rechercher des sujets similaires à "afficher date jour juste premiere fois condition"