Bonjour.
Voilà le code du bouton qui fait la moulinette
Private Sub CommandButton2_Click()
Set ws1 = Sheets("Liste OF") 'J'affecte le feuillet List OF à la variable ws1
Set ws2 = Sheets("Chemin de fer") 'J'affecte le feuillet Chemin de fer à la variable ws2
dlws2 = ws2.Cells(Rows.Count, 1).End(xlUp).Row 'J'affecte le nombre de ligne utilisée dans la colonne A du feuillet Chemin de fer à la variable dlws2
For l = 2 To dlws2 'Je boucle de 2 à dlws2
fl = Cells(l, Columns.Count).End(xlToLeft).Column 'J'affecte le numéro de la dernière colonne utilisée de la ligne l à la variable fl
Set ListOp = ws2.Range(ws2.Cells(l, 5), Cells(l, fl)) 'J'affecte la plage de la cellule E ligne l à la cellule fl(derniere colonne utilisée) ligne l à la variable ListOp
For Each cell In ListOp ' Instructions de regarder pour chaque cellule de la plage ListOp
operation = ws1.Cells(Rows.Count, 12).End(xlUp).Row 'J'affecte le numéro de la derniere ligne utilisée de la colonne L du feuillet List OF à la variable operation
For x = operation To 3 Step -1 'Je boucle du numéro de la variable operation jusqu'a 3 en décrémentant de 1 pour chaque passage
If cell = ws1.Cells(x, 12).Value Then 'Je test si la cellule(celle de la plage ListeOp) est égale la cellule de la colonne L ligne x
Total = Total + ws1.Cells(x, 12).Offset(0, 1).Value 'Si le test est vrai j'ajoute la valeur de la cellule de droite trouvé celle de la colonne J dans le feuillet List OF à la variable total
Exit For 'Je quitte ma boucle
End If
Next x
Next cell
ws2.Range("D" & l) = Date + Total 'J'écris dans la cellule D ligne l du feuillet Chemin de fer la date d'aujourd'hui + la valeur de la variable total
Total = 0 'Je reinitialise la variable total à 0
Next l
End Sub
En esperant que ça soit à peu près clair.
Cdlt.