Comment comparer deux lignes dans Excel à l’aide de VBA

La comparaison manuelle des données ligne par ligne peut être un processus fastidieux s’il est effectué manuellement. Laissez-nous vous montrer comment comparer deux lignes dans Excel à l’aide de VBA et automatiser ce processus.

VBA a une fonction intégrée appelée StrComp qui peut comparer deux chaînes. Cette fonction renvoie un entier basé sur le résultat de la comparaison. Zéro ‘0’ signifie une correspondance parfaite, et l’exemple de code ci-dessous met en évidence la cellule si le résultat n’est PAS égal à ‘0’.

La fonction StrComp obtient 3 arguments: Les 2 premiers arguments sont les chaînes à comparer et le dernier est le type de comparaison (facultatif). En cas d’omission, le paramètre Option Comparer détermine le type de comparaison. Vous trouverez ci-dessous toutes les options disponibles:

  • vbUseCompareOption : Effectue une comparaison en utilisant le paramètre de l’instruction Option Compare.
  • vbBinaryCompare : Effectue une comparaison binaire. Sensible à la casse.
  • vbTextCompare : Effectue une comparaison textuelle. Pas sensible à la casse.
  • vbDatabaseCompare: Effectue une comparaison basée sur les informations de votre base de données. Accès Microsoft uniquement.

Le code nécessite que l’utilisateur sélectionne les lignes dans une seule plage. La plage sélectionnée est affectée à une variable de plage bothrows et chaque cellule de cette plage est comparée colonne par colonne. En utilisant une instruction With, nous n’avons pas à répéter les bothrows pour chaque ligne, et ForNextNext loop est la façon dont nous pouvons vérifier chaque cellule.

Surlignage

Après avoir obtenu la plage, vous pouvez utiliser la propriété ColorIndex pour définir une couleur dans cette plage. Voici quelques numéros d’index pour les couleurs:

  • 3: Rouge
  • 5: Bleu
  • 6: Jaune
  • 0: Pas de remplissage

Tout d’abord, vous devez ajouter le module dans le classeur ou le fichier complémentaire. Copiez et collez le code dans le module pour l’exécuter. Le principal avantage de la méthode module est qu’elle permet d’enregistrer le code dans le fichier, afin qu’il puisse être réutilisé plus tard. De plus, les sous-programmes des modules peuvent être utilisés par des icônes dans les rubans de menu ou des raccourcis clavier. N’oubliez pas d’enregistrer votre fichier au format XLSM ou XLAM pour enregistrer votre code VBA.

Exemple de code pour la mise en évidence

Sub HighlightRowDifferences() Dim bothrows As Range, i As Integer Set bothrows = Selection With bothrows For i = 1 To .Columns.Count If Not StrComp(.Cells(1, i), .Cells(2, i), vbBinaryCompare) = 0 Then Range(.Cells(1, i), .Cells(2, i)).Interior.ColorIndex = 6 End If Next i End WithEnd Sub

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée.