Comparaison simple de deux onglets d'un même fichier

Zorgloub

XLDnaute Nouveau
Bonjour à tous,

Voilà quelques temps que je cherche une solution simple à une question précise.
Les différentes réponses, parfois complexes, que j'ai pu trouver ne s'appliquent pas vraiment à mon cas de figure... somme toute assez simple.

Problème posé:
1) Je désire simplement savoir si la "sheet 1" et la "sheet 2" d'un même fichier sont parfaitement identiques.
Le test doit se faire de la ligne 1 à la ligne 100 par exemple.

2) Je désire savoir si la "sheet 1" et la "sheet 2" d'un même fichier sont parfaitement identiques, sauf au niveau de la ligne 1 qui ne doit pas être testée.
Le test doit donc se faire de la ligne 2 à la ligne 100.

Dès qu'une première différence est constatée, pas besoin d'aller plus loin, une variable, ou une cellule, prend la valeur "Différences constatées !"

Les feuilles à comparer contiennent des valeurs numériques et des valeurs textes.

Merci pour vos lumières.

Zorgloub.
 

Roland_M

XLDnaute Barbatruc
Re : Comparaison simple de deux onglets d'un même fichier

bonjour, voir un début de routine

Code:
Sub CompFeuille1Feuille2()
NomDeLaFeuille1$ = "Feuil1" ' < à voir
NomDeLaFeuille2$ = "Feuil2" ' < à voir
Sheets(NomDeLaFeuille1$).Activate: Sheets(NomDeLaFeuille1$).Select
For Each Cell In ActiveSheet.UsedRange
 R$ = Sheets(NomDeLaFeuille2$).Cells(Cell.Row, Cell.Column)
 ' dans ce test on peut modifier  exemple: Cell.Value = R$
 If Cell.Value <> R$ Then
    Adres1$ = Cell.Address
    Adres2$ = Sheets(NomDeLaFeuille2$).Cells(Cell.Row, Cell.Column).Address
    M$ = NomDeLaFeuille1$ & ": Value dans " & Adres1$ & "= " & Cell.Value & vbLf & _
         NomDeLaFeuille2$ & ": Value dans " & Adres2$ & "= " & R$
    MsgBox M$
 End If
Next
End Sub

Rem: pour sauter la première ligne mettre un test après For
For Each Cell In ActiveSheet.UsedRange

If Cell.Row >1 Then
'là la routine
end if

Roland
 
Dernière édition:

Discussions similaires

Statistiques des forums

Discussions
312 211
Messages
2 086 299
Membres
103 172
dernier inscrit
Aurelyan