Activation macro sous conditions et recherche date spécifique

Bonjour le forum,

J'aimerais un code capable de mettre une condition au lancement d'une macro et de reconnaitre une date spécifique afin d'inscrire dans une cellule un texte.

Ci joint un exemple simplifié.

Merci pour votre aide

13test.xlsm (16.38 Ko)

Bonjour,

Une réponse ?

Cdlt.

7test.xlsm (17.92 Ko)
Private Sub Worksheet_Change(ByVal Target As Range)
Dim dtm As Date, firstMonday As Date
    If Target.Address = "$B$1" Then
        dtm = Date
        firstMonday = dtm - Day(dtm) + 9 - Weekday(dtm - Day(dtm))
        If Me.Cells(8, 8).Value = firstMonday Then Me.Cells(12).Value = "Commande à faire"
        Select Case Target.Value
            Case 3: Module1.Test
            Case 4: Module1.test1
            Case Else:
        End Select
    End If
End Sub

Bonjour Jean Eric,

Ton code fonctionne pour les conditions mais pour la reconnaissance du premier Lundi du mois et donc mettre "commande à faire" en L1.

J'ai trouvé une formule qui le détermine, peut-on l'intégrer au code ?

IF(DAY(B8-DAY(B8)+9-WEEKDAY(B8-DAY(B8)))>7;B8-DAY(B8)+9-WEEKDAY(B8-DAY(B8))-7;B8-DAY(B8)+9-WEEKDAY(B8-DAY(B8))

Bonjour CDB, Jean-Eric, le forum,

J'avais commencé à chercher une solution , mais comme Jean-Eric avait répondu, je me suis abstenu de répondre.

En attendant la réponse de Jean-Eric qui sera certainement plus aboutie....

Sub mamacro()
 With Sheets("Sheet1")
  Select Case .Range("B1").Value
   Case Is = 4
    Call Test
   Case Is = 3
    Call test1
  End Select

   .Range("AAA1").FormulaR1C1 = _
        "=DATE(YEAR(TODAY()),MONTH(TODAY()),7*1)-WEEKDAY(DATE(YEAR(TODAY()),MONTH(TODAY()),7),3)"
    If .Range("B8") = .Range("AAA1") Then
       .Range("L1") = "Commande à faire": .Range("AA1").ClearContents
    Else
       .Range("L1") = ""
    End If
  End With
End Sub
7cdb-test.xlsm (20.13 Ko)

Cordialement,

Super Merci beaucoup ça marche parfaitement

Rechercher des sujets similaires à "activation macro conditions recherche date specifique"