1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25
| Sub ExtractionsModifications(FeuilleOriginale As Worksheet, feuilleModifiee As Worksheet, feuilleResultat As Worksheet)
Dim DerniereColonne As Long
Dim CelluleOrigine As Range
Dim CelluleModifiee As Range
Dim CelluleResultat As Range
DerniereColonne = FeuilleOriginale.Cells(1, FeuilleOriginale.Columns.Count).End(xlToLeft).Column
For Each CelluleModifiee In Range(feuilleModifiee.Range("a2"), feuilleModifiee.Cells(feuilleModifiee.Rows.Count, 1).End(xlUp))
Set CelluleOrigine = FeuilleOriginale.Cells(CelluleModifiee.Row, CelluleModifiee.Column)
If getChaineLigne(CelluleModifiee, DerniereColonne) <> getChaineLigne(CelluleOrigine, DerniereColonne) Then
Range(CelluleModifiee, CelluleModifiee(1, DerniereColonne)).Copy Destination:= _
feuilleResultat.Cells(feuilleResultat.Rows.Count, 1).End(xlUp)(2)
End If
Next CelluleModifiee
End Sub
Function getChaineLigne(CelluleA As Range, DerniereColonne As Long) As String
Dim Cellule As Range
For Each Cellule In Range(CelluleA, CelluleA(1, DerniereColonne))
getChaineLigne = getChaineLigne & Cellule.Value
Next Cellule
End Function |
Partager