Hello les pros du VBA
j’ai un fichier qui lorsque je remplis deux valeurs dans deux cellules différentes copie la valeur de certaines cellules dans un autre onglet
mes soucis actuels et que pour une référence, il me fallait la date du jour et pour d’autre la date de la veille, sauf que le site sur lequel je récupérais mes données à modifier sa façon de faire, et que maintenant, ils font leur mise à jour à la date de veille aussi… je suis donc obligé d’intervenir sur l’onglet ou les calculs se reporte manuellement
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, 9).Value = Ws.Range("J4")
Wd.Cells(Dl - 1, 11).Value = Ws.Range("H4")
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, 9).Value = Ws.Range("J4")
Wd.Cells(Dl, 11).Value = Ws.Range("H4")
If Wd.Cells(Dl - 1, 1).Value = Date - 1 Then
Wd.Cells(Dl - 1, 13).Value = Ws.Range("H22")
Wd.Cells(Dl - 1, 14).Value = Ws.Range("F14")
Wd.Cells(Dl - 1, 15).Value = Ws.Range("H14")
Wd.Cells(Dl - 1, 16).Value = Ws.Range("F16")
Else
Wd.Cells(Dl, 1).Value = Date - 1
Wd.Cells(Dl, 13).Value = Ws.Range("H22")
Wd.Cells(Dl, 14).Value = Ws.Range("F14")
Wd.Cells(Dl, 15).Value = Ws.Range("H14")
Wd.Cells(Dl, 16).Value = Ws.Range("F16")
End If
End If
End If
End Sub
ce sont les valeurs de l’onglet « valeur » qui sont copié dans l’onglet « montant »