A défaut de connaître une méthode plus sioux, et n'ayant rien trouvé dans la FAQ, voici une méthode qui permet de comparer deux plages de cellules situées dans deux feuilles différentes.
Dans cet exemple utilisant CurrentRegion, les données,où qu'elles soient placées, doivent être cohérentes : aucune ligne ou colonne ne doivent être entièrement vides dans les plages comparées
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 Function Comparer() As Boolean Dim Plage2 As Range, Plage1 As Variant Dim ok As Boolean, ad1 As String, ad2 As String 'Adresse de la première cellule renseignée de la feuil1 ad1 = Worksheets("Feuil1").Cells(Worksheets("Feuil1").UsedRange.Row, _ Worksheets("Feuil1").UsedRange.Column).Address 'Adresse de la première cellule renseignée de la feuil2 ad2 = Worksheets("Feuil2").Cells(Worksheets("Feuil2").UsedRange.Row, _ Worksheets("Feuil2").UsedRange.Column).Address Plage1 = Worksheets("feuil1").Range(ad1).CurrentRegion.Value Set Plage2 = Worksheets("feuil2").Range(ad2).CurrentRegion With Plage2 Set c = .Find(Plage1) Comparer = Not c Is Nothing End With End FunctionLe même principe permet une comparaison par ligne ou par colonne.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 Sub Test() If Comparer Then MsgBox "C'est bon !" Else MsgBox "C'est pas bon !" End If End Sub
Partager