Comparer deux plages de données

Je voudrais savoir si deux plages de mon classeur sont identiques cellule à cellule ou pas.

sub ComparePlages()
 Dim Arr1, Arr2, Flag
 Arr1 = Range("A1:D500").Value
 Arr2 = Range("F1:I500").Value
 Flag = True
 For i = LBound(Arr1, 2) To UBound(Arr1, 2)
  For j = LBound(Arr1, 1) To UBound(Arr1, 1)
   If Not Arr1(j, i) = Arr2(j, i) Then
    Flag = False: Exit For
   End If
  Next j
  If Not Flag Then Exit For
 Next i
 MsgBox "Plages identiques : " & Flag
 end sub

Cette fonction présente l'avantage de passer par des tabeaux (arrays) ce qui est plus rapide que de manipuler les cellules d'un tableau.

Auteur :

Mots clefs associés à cette page : ,