Microsoft 365 générer automatiquement une date selon la condition d'une cellule

BOILEAU

XLDnaute Junior
Bonsoir,
Je n'arrive pas à écrire ma formule VBA. Et pourtant cela me semble simple et j'ai un peu honte de vous demander de l'aide. je suis sur Mac.

J'ai une plage de cellules (E20:BM21) mes cellules sont fusionnées deux par deux (E20etF20 _ G20etH20_.....) pour chacune des lignes 35 et 36. Je souhaiterais inscrire automatiquement la date de modification si une cellule fusionnée par exemple E20etF20 est vide.
En clair :
Si (E20/F20) ou (E21etF21) n'est pas vide, la date du jour de la modification de cette cellule fusionnée doit s'inscrire dans la cellule du dessous E22/F22.. La date de modification ne doit pas se mettre à jours à chaque ouverture du fichier.

Cette procédure ce reproduit sur plusieurs ligne dans ma feuille. Document joint.

Un grand merci d'avance à ceux qui pourront m'aider.

Bonne soirée

Frédéric
 

Pièces jointes

  • PLANNING HDG MODELE VIERGE.xlsm
    152.9 KB · Affichages: 30
Solution
Modifiée comme suit, la procédure semble faire ce que vous souhaitez en plus :
VB:
Private Sub Worksheet_Change(ByVal Target As Range)
   Dim DtMod, TDatM(), C&, M&, TMois(1 To 1, 1 To 12)
   If Intersect([D:BM], Target) Is Nothing Then Exit Sub
   If Cells(Target.Row, "C") = "DATE MODIF" Then Exit Sub
   If Not IsEmpty(Target(1, 1).Value) Then DtMod = Date
   Set Target = Target(2, 1)
   If Cells(Target.Row, "C") <> "DATE MODIF" Then
      If Not IsEmpty(Target.Value) Then DtMod = Date
      Set Target = Target(2, 1)
   ElseIf Not IsEmpty(Target(-1, 1).Value) Then
      DtMod = Date
      End If
   If Cells(Target.Row, "C") <> "DATE MODIF" Then Exit Sub
   Target.Value = DtMod
   TDatM = Intersect([D:BM], Target.EntireRow).Value
   For...

BOILEAU

XLDnaute Junior
Bonjour,
Merci.
Désolé de te déranger. Mais j'ai essayé d'insérer cette ligne dans la formule existante, voire de la mettre plusieurs fois dans la formule et en des endroits différents. En finale je suis complètement pommé !
Le résultat de mes essais est que la date qui s'inscrit est bien celle du 1/01/2023, lorsque je rempli une cellule "réservé". Mon problème est que si j'efface cette cellule, la date reste présente. Alors que avant elle s'effaçait.
J'ai peur que lorsque nous serons en 2023, si je saisie "réservé" dans une cellule pour une nouvelle réservation, ce soit à chaque fois le 1/01/2023 qui s'affiche dans la cellule du dessous et non la date du jour ou cette réservation est enregistrée (ex : 12/04/2023).
Pardonne-moi mon ignorance !
Merci d'avance.
Frédéric
 

Discussions similaires