Hello @FFO ou @Mimimathy
j’ai dans un fichier un code vba qui fonctionne en verifiant la date du jour
je voudrais que la ligne en gras prennent en compte la date -1, j’ai essayer de mettre un:
If Wd.Cells(Dl - 1, 1).Value = Date -1 Then
et un
Else
Wd.Cells(Dl, 13).Value = Ws.Range(« H22 »)
sans oublié le End if, sauf que si je fais debogage ça me mets « Else sans if »
comment faire pour que le else soit pris en compte ou faut il carrément refaire une private sub a part
merci d’avance
`Private Sub Worksheet_Change(ByVal Target As Range)
If Not Application.Intersect(Target, Range(« D2:D4:H22 »)) Is Nothing Then
Dim i%, Dl%, DIPlueValue, Ws As Worksheet, Wd As Worksheet
Set Ws = Sheets(« Valeur »)
Set Wd = Sheets(« Montant »)
Dl = Wd.Range(« A » & Rows.Count).End(xlUp).Row + 1
If Wd.Cells(Dl - 1, 1).Value = Date Then
Wd.Cells(Dl - 1, 1).Value = Date
Wd.Cells(Dl - 1, 2).Value = Ws.Range(« D5 »)
Wd.Cells(Dl - 1, 4).Value = Ws.Range(« D3 »)
Wd.Cells(Dl - 1, 6).Value = Ws.Range(« J2 »)
Wd.Cells(Dl - 1, 7).Value = Ws.Range(« F5 »)
Wd.Cells(Dl - 1, 8).Value = Ws.Range(« F3 »)
Wd.Cells(Dl - 1, 13).Value = Ws.Range(« H22 »)
Else
Wd.Cells(Dl, 1).Value = Date
Wd.Cells(Dl, 2).Value = Ws.Range(« D5 »)
Wd.Cells(Dl, 4).Value = Ws.Range(« D3 »)
Wd.Cells(Dl, 6).Value = Ws.Range(« J2 »)
Wd.Cells(Dl, 7).Value = Ws.Range(« F5 »)
Wd.Cells(Dl, 8).Value = Ws.Range(« F3 »)
Wd.Cells(Dl, 13).Value = Ws.Range(« H22 »)
End If
End If
End Sub`
le fichier se presente comme cela
et la derniere ligne du tableau gauche est remplie le jour même et celui de droite le lendemain mais a la date de la veille