Légere modification

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 »

Range(« D2:D4:H22 »)) >>>> cela me semble pas correcte.
Et puis toutes les « date », vous les changerez en « date -1 » et les « date -1 » en « date -2 »
En espérant que cela suffit …
Autrement, si vous ajoutez votre fichier, cela sera plus facile

Pour les RANGE D2,D4,H22 ce sont pour les deux premières les valeurs que je modifie manuellement qui servent au calcul qui se reporte sur l’onglet montant, tout comme la H22 résulte d’un calcul arrondi… Enfin bref ça fonctionne bien comme cela, je regarde pour modifier les dates en date -1
je verrais bien
j’en étais déjà arrivé à me demander si de passé les dates en -1 suffisait

C’est bon après un test rapide le rajout des -1 aux dates a suffi à régler mon souci

1 « J'aime »

Ce sujet a été automatiquement fermé après 30 jours. Aucune réponse n’est permise dorénavant.