Macro pour comparer les classeurs les uns avec les autres, Excel VBA

La comparaison des classeurs n’est utile que pour les classeurs avec une structure similaire. Par exemple, si vous voulez savoir où se trouvent les différences entre deux classeurs qui semblent complètement identiques, vous pouvez utiliser la solution de macro suivante. Écrivez les différences dans la fenêtre immédiate.

Sub ComparerLesClasseurs ()

Dim Classeur1, Classeur2 As Workbook
Dim mafeuille As Worksheet
Dim mescellules As Object
Dim s As String
Set Classeur1 = ThisWorkbook
Set Classeur2 = Workbooks(2)
For Each mafeuille In ThisWorkbook.Worksheets

mafeuille.Activate
s = mafeuille.Name
For Each mescellules In mafeuille.UsedRange
If mescellules.Value <> _
Classeur2.Worksheets(s).Range(mescellules.Address).Value Then
mescellules.Activate
Debug.Print "Unterschied in Zelle " & _
mescellules.Address & " sur la feuille de calcul " & _
Sheets(s).Name
End If
Next mescellules
Next mafeuille
End Sub

 

Figure : Déterminez les valeurs maximales de plusieurs fichiers

La condition préalable au bon fonctionnement de la solution est que vous ayez ouvert les deux classeurs et que les noms de table soient identiques. Le classeur actuel est comparé au deuxième classeur en arrière-plan. Le classeur qui a été ouvert en premier a l’index 1, le classeur qui est ouvert par la suite reçoit la valeur d’index 2. Vous avez maintenant besoin de deux boucles For Next. L’un est responsable des feuilles de tableau individuelles et l’autre des cellules de la zone utilisée. Dans la première boucle, vous déterminez d’abord la zone utilisée via la propriété UsedRange et comparez les lignes utilisées dans les deux classeurs. Si une différence est trouvée, la cellule appropriée doit être positionnée de sorte que l’adresse de cellule correcte puisse être sortie dans la fenêtre directe.

S’abonner
Notifier de
0 Commentaires
Inline Feedbacks
Voir tous les commentaires

Initiation à Excel

Fonctions Excel

Excel VBA

Macros VBA Utiles

Plus d'outils

Sur Facebook

Sur YouTube

0
Nous aimerions avoir votre avis, veuillez laisser un commentaire.x
()
x