date fixe par action de condition

  • Initiateur de la discussion Initiateur de la discussion oxygene
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

O

oxygene

Guest
Bonjour

Je cherche un moyen pour mettre à jour une ligne de demande
B8 B9

Si je mets B8 à 1 je veux mettre dans la cellule B9 une date fixe
j'ai essayé cette formule
=SI(B8=1;MAINTENANT();" ")

Le problème est qu'elle ne conserve pas la date fixe une fois la valeur
de la cellule B8 rempli par un 1.

A chaque journée ou le classeur est ouvert la date change.

@+
oxygene
 
Bonjour le forum, comment ça va ce matin?

André, j'ai essayé ta jolie formule mais y'a trop de ; pour la syntaxe. Ca fonctionne en Belgique????

En attendant, oxygène, tu peux faire un copier et collage spécial valeur.

De plus, il est préférable d'utiliser aujourdhui() car sinon tu ne récupères pas un entier, tu as l'heure avec (par exemple 17/02/2003 à midi tu as 37669,5)

Bonne journée.

Cathy
 
Suite...

André, j'étais pas réveillée,
tu voulais dire taper=SI(B8=1; ensuite appuyer sur les touches ctle et ; en même temps ensuite taper le reste de la formule soit ;""),

mais chez moi (en France) ça ne fonctionne pas non plus, j'ai 0 janvier 00, et de toute façon oxygène ne va pas taper cette formule à chaque fois, il veut une formule fixe, donc pas bon.

@+

Cathy
 
Resalut oxygène, salut Cathy,

Moi non plus, je ne devais pas être bien réveillé ce matin.
La formule est : =SI(B8=1;"Ctrl+;";"")
Cette formule n'est effectivement valable que pour le jour même.

Pour afficher la date du jour sous condition (B8=1), et que celle-ci ne change plus tant que la valeur en B8 ne soit pas modifiée, je ne vois que le Copier/Coller de Ctrl+; ou AUJOURDHUI() (éventuellement par macro évenementielle en cas de modification de la valeur de la cellule B8).
Mais comme je ne suis pas performant en VBA, ... !

Bonne journée.
André.
 
hi hi hi André!

C'est la pleine lune ça perturbe!
en mettant Ctrl+; entre guillemets tu affiches du texte!!!

Effectivement faut une macro, qu'elle soit en Aut😵pen ou en macro événementielle

comme ça, vite fait, ça pourrait donner :

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Target = Range("B8") Then
If ActiveCell.Value = 1 Then
Range("A1").Select
ActiveCell.FormulaR1C1 = "=IF(R8C2=1,TODAY(),"""")"
Selection.Copy
Selection.PasteSpecial Paste:=xlValues
Application.CutCopyMode = False
Else
Range("A1") = vide
End If
End If

Cathy
End Sub
 
CORRECTION (merci à Ti pour son aide) :

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address <> "$B$8" Then Exit Sub
With Target
If .Value = 1 Then
.Offset(1, 0).Value = Date
Else
.Offset(1, 0).Value = ""
End If
End With
End Sub

Cette fois c'est OK.

Cathy
 
Bonjour
Petit question supplémentaire, ce code agit sur une seul cellule
mais comment le faire sur l'ensemble de la colonne.

Je veux dire si je mets un 1 en dessous de B8 je veux en C8 la date et ainsi
de suite si je mets un 1 en B9, B10, B11 ....

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address <> "$B$8" Then Exit Sub
With Target
If .Value = 1 Then
.Offset(0, 1).Value = Date
Else
.Offset(0, 1).Value = ""
End If
End With
End Sub

J'ai changé la destination de la celllule pour ne pas avoir la date en dessous de B8.

@+
oxygene
 
Bonjour le forum bonjour oxygene

tu changes juste :
If Target.Column <> 2 Then Exit Sub
(colonne B)
...
.Offset(0, 1).Value = Date
Else
.Offset(0, 1).Value = ""
cellule juste à droite : colonne C

Bonne journée.

Cathy
 
Bonjour, tout le monde

Cette fonction devrait fonctionner, mais en modifiant une des options de calcul d'Excel. Cocher l'itération, et fixer la valeur de cette itération à 1.

Je mets dans la cellule A1 cette fonction

=SI(B8=1;MAINTENANT();SI(ET(A1>0;ESTVIDE(A1));A1;" "))

@+Jean-Marie
 
Salut Jean-Marie et le forum

ta formule, si elle est en A1 il y a une référence circulaire non résolue

G pas compris le si et a1>0 et a1est vide, c'est l'un ou l'autre, il peut pas être vide et positif à la fois???

et de toute façon tu obtiens une fonction date donc remise à jour à chaque fois alors qu'oxygène souhaite une date figée.

Mais tu apportes ta pierre à l'édifice, c'est bien.

Bonne journée

Cathy
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Réponses
3
Affichages
225
Réponses
5
Affichages
265
Réponses
6
Affichages
432
Retour