datemois_opération = Format(source.Cells(index_row, 2))
dateannée_opération = Format(source.Cells(index_row, 2))
datemois_opération = Month(Date).Value
dateannée_opération = Year(Date).Value
Cette partie de code est bizarre, pourquoi assigner une valeur et la changer ensuite ?
De plus il faut écrire Month(Date) sans le .Value pareil pour Year.
Ensuite ajouter un End If comme ci-dessous :
index_row_dest = index_row_dest + 1
End If
Next index_row