Sub Test() Dim dIn As Date If Not IsDate(Range("A5").Value) Then MsgBox "Veuillez saisir une date valide en A5." Else dIn = CDate(Range("A5").Value) If Weekday(dIn) = vbFriday Then If Month(dIn) = Month(dIn - 7) Then Range("C5").Value = "Cassette hebdomadaire" Else Range("C5").Value = "Cassette mensuelle" End If Else Range("C5").Value = Format$(dIn, "dddd") End If End If End Sub
Dim i As Date i = Range("A5").Value If i < "07/01/2009" Then ...
Sub Test() Dim i As Date, l As String, x As Variant if isDate(Range("A5").Value)=False then msgbox "la cellule A5 ne contient pas de date !", VbExclamation Exit sub end if i = Range("A5").Value ' le lcase$ permet de n'avoir que des minuscules ce qui evite les erreurs pour une histoire de casse l = LCase$(Range("C5").Value) ' datevalue permet de transformer une chaine en date ' datediff calcule une difference entre 2 dates et renvoie soit un nombre de jour("d") soit un nombre de mois("m") soit un nombre d'année("y") ' ici il renvoie un nombre de jour positif ou négatif If DateDiff("d", i, DateValue("7/1/2009")) >0 And l "vendredi" Then Range("C5").Value = "Cassette mensuelle" Else If DateDiff("d", i, DateValue("7/1/2009")) < 0 And l = "vendredi" Then Range("C5").Value = "Cassette hebdomadaire" End If End If End Sub
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question