Microsoft 365 figer une date

MICHAEL

XLDnaute Occasionnel
Bonjour,
je ne me souviens plus comment faire.
j'entre en E3 la fonction aujourdhui.
celle ci est copié en E5
cette date est reporté en colonne F6:F125
à condition que les cellules adjacentes F6:F125 soient égales à "x" et doit resté figé dans le temps
(date de relevé)
merci de votre aide
 

sylvanu

XLDnaute Barbatruc
Supporter XLD
Bonjour Michael, Gbinforme,
Un petit fichier test aurait été le bienvenu;
D'une part pour éviter de se le retaper, d'autre part pour savoir si "cellules adjacentes" c'est à droite ou à gauche car les deux sont adjacentes.
En PJ un essai avec :

VB:
Sub DupliquerDate()
    Application.ScreenUpdating = False
    [F6:F125].FormulaLocal = "=SI(E6=""x"";$E$3;"""")"
    [F6:F125] = [F6:F125].Value
    [F6:F125].NumberFormat = "dd/mm/yy;@"
End Sub
 

Pièces jointes

  • Michael.xlsm
    14.9 KB · Affichages: 5

sylvanu

XLDnaute Barbatruc
Supporter XLD
Un petit fichier test aurait été le bienvenu.
Et une demande itou.
les dates restent figees apres incrementation de la date du jours.
Donc chaque jour, comme en E3 il y a la date d'aujourd'hui, toutes les dates se remettront à jour ?

Bizarre comme comportement. Car dans ce cas autant mettre en colonne E :
VB:
=SI(F6="x";AUJOURDHUI();"")
Cela aurait le même effet.
 

sylvanu

XLDnaute Barbatruc
Supporter XLD
j'entre en E3 la fonction aujourdhui.
Donc en E3 il n'y a pas la fonction aujourdhui(), mais une valeur que vous entrez à la main ?
Donc le fichier demandé 3 fois aurait évité ce genre de souci, je l'aurais vu moi même.
Un essai en PJ. Le tableau se remet à jour lorsqu'on change la date en E3 :
VB:
Sub Worksheet_Change(ByVal Target As Range)
On Error GoTo Fin: If Target.Count > 1 Then Exit Sub
    If Not Intersect(Target, [E3]) Is Nothing Then
        Application.ScreenUpdating = False
        Application.ScreenUpdating = False
        With Range("E6:E125")
            .FormulaLocal = "=SI(F6=""x"";$E$3;"""")"
            Selection = Selection.Value
            .NumberFormat = "dd/mm/yy;@"
        End With
    End If
Fin:
End Sub
 

Pièces jointes

  • Michael V3.xlsm
    15.6 KB · Affichages: 2

MICHAEL

XLDnaute Occasionnel
Donc en E3 il n'y a pas la fonction aujourdhui(), mais une valeur que vous entrez à la main ?
Donc le fichier demandé 3 fois aurait évité ce genre de souci, je l'aurais vu moi même.
Un essai en PJ. Le tableau se remet à jour lorsqu'on change la date en E3 :
VB:
Sub Worksheet_Change(ByVal Target As Range)
On Error GoTo Fin: If Target.Count > 1 Then Exit Sub
    If Not Intersect(Target, [E3]) Is Nothing Then
        Application.ScreenUpdating = False
        Application.ScreenUpdating = False
        With Range("E6:E125")
            .FormulaLocal = "=SI(F6=""x"";$E$3;"""")"
            Selection = Selection.Value
            .NumberFormat = "dd/mm/yy;@"
        End With
    End If
Fin:
End Sub
non en E3 = aujourdhui
votre tableau est identique au mien
f6=x
e6 = e3
cette date en e3 ne changera pas demain car elle sera figée
 

Discussions similaires

Statistiques des forums

Discussions
314 422
Messages
2 109 447
Membres
110 482
dernier inscrit
ilyxxxh