Faire afficher une date dans cellule E3 si cellule D3="Oui"

Bonjour le forum

Tout est dit dans le titre et avec une MFC pas de macro

Merci à vous

Bonjour Al, bonjour le forum,

"Une" date ?!... Pas très précis tout ça. Pourquoi une MFC et pas une formule ?...

=SI(D3="Oui";AUJOURDHUI();"")

Bonjour ThauThème

SUPER...quel C$N!!!

Merci à toi

Bonne fin d’après-midi

Cordialement

Bonjour le forum

Petit problème. Je voudrais garder la date fixe. Que ça reste au 25/10/2020

Cordialement

Bonjour Al, bonjour le forum,

Par formule je ne sais pas faire. Tu peux toujours faire un copier (de la date) / Coller (sur place la valeur).

Je sais faire avec du VBA mais ...

Bonjour ThauThème

Le vba et moi...ça peut mettre des jours!!!

Si tu peux sortir quelque chose de cette macro

Private Sub Workbook_SheetBeforeDoubleClick(ByVal sh As Object, ByVal Target As Range, Cancel As Boolean)
Dim Indice As Integer, NbColonne As Integer
Dim Tb, TbCoul, X, TbFont, Label As String

  Select Case UCase(sh.Name)             ' Cette ligne permet de modifier l'onglet. Exemple "Changement" sans modifier la macro "CHANGEMENT HEURE APPAREILS"
    Case "CHANGEMENT HEURE APPAREILS"
      NbColonne = 3
  End Select

  If Target.Column = NbColonne + 1 And Target.Row >= 3 And Range("A" & Target.Row) <> "" Then
    Application.EnableEvents = False
    TbFont = Array(5, 1, 1)
    TbCoul = Array(35, 40, 8)
    Tb = Array("", "Oui", "Non")
    Cancel = True

    X = UCase(Trim(Target))
    If UBound(Filter(Tb, X, compare:=vbTextCompare)) >= 0 Then
      Indice = Application.Match(X, Tb, 0) Mod (1 + UBound(Tb))
      Label = Tb(Indice)
      With Target
        .Value = Label
        .Interior.ColorIndex = TbCoul(Indice)
        .Font.ColorIndex = TbFont(Indice)
      End With
      With ActiveCell.Offset(0, -NbColonne).Resize(1, NbColonne)
        If Label = "Oui" Then
          .Font.Strikethrough = True
        Else
          .Font.Strikethrough = False
        End If
      End With
    End If

    Application.EnableEvents = True
  End If
Range("A1").Select
End Sub

Re,

Pas sûr d'avoir bien pigé la macro. Peut-être comme ça :

Private Sub Workbook_SheetBeforeDoubleClick(ByVal sh As Object, ByVal Target As Range, Cancel As Boolean)
Dim Indice As Integer, NbColonne As Integer
Dim Tb, TbCoul, X, TbFont, Label As String

Select Case UCase(sh.Name)             ' Cette ligne permet de modifier l'onglet. Exemple "Changement" sans modifier la macro "CHANGEMENT HEURE APPAREILS"
  Case "CHANGEMENT HEURE APPAREILS"
    NbColonne = 3
End Select
If Target.Column = NbColonne + 1 And Target.Row >= 3 And Range("A" & Target.Row) <> "" Then
Application.EnableEvents = False
TbFont = Array(5, 1, 1)
TbCoul = Array(35, 40, 8)
Tb = Array("", "Oui", "Non")
Cancel = True
X = UCase(Trim(Target))
If UBound(Filter(Tb, X, compare:=vbTextCompare)) >= 0 Then
    Indice = Application.Match(X, Tb, 0) Mod (1 + UBound(Tb))
    Label = Tb(Indice)
    With Target
        .Value = Label
        .Interior.ColorIndex = TbCoul(Indice)
        .Font.ColorIndex = TbFont(Indice)
        .Offset(0, 1).Value = DateSerial(Year(Date), Month(Date), Day(Date)) '<===== Le changement est ici
    End With
    With ActiveCell.Offset(0, -NbColonne).Resize(1, NbColonne)
        If Label = "Oui" Then
            .Font.Strikethrough = True
        Else
            .Font.Strikethrough = False
        End If
    End With
    End If
    Application.EnableEvents = True
End If
Range("A1").Select
End Sub

Re

On progresse

Ça met bien la date mais lorsqu'on met non (en faisant un autre double click) peut-on la faire effacer?

Merci à toi

Bonjour ThauThème & le forum

Ça va comme ça.

Encore merci à toi et bonne semaine

Cordialement

Rechercher des sujets similaires à "afficher date"