Comment comparer deux chaînes de caractères pour leur similarité ou mettre en évidence les différences dans Excel ?
Dans certains cas, vous pourriez avoir besoin de comparer deux cellules adjacentes contenant des chaînes de caractères et marquer leurs similitudes ou différences dans Excel. Cet article propose deux méthodes pour y parvenir.
Comparer deux chaînes avec une formule
Comparer deux chaînes pour leur similarité ou mettre en évidence les différences avec un code VBA
Comparer deux chaînes avec une formule
Comme le montre la capture d'écran ci-dessous, si vous souhaitez simplement savoir si les chaînes comparées correspondent ou non, vous pouvez appliquer la formule suivante.
1. Sélectionnez une cellule vide C2, entrez la formule =EXACT(A2, B2) dans la Barre de formule, puis appuyez sur la touche Entrée. Voir la capture d'écran :
Remarque : Dans la formule, A2 et B2 sont les cellules contenant les chaînes à comparer.
2. Continuez à sélectionner la cellule du résultat, puis faites glisser la poignée de recopie vers les cellules jusqu'à obtenir tous les résultats comparés.
Le résultat FAUX signifie que les chaînes comparées sont différentes, et le résultat VRAI indique que les deux chaînes comparées correspondent. Voir la capture d'écran :

Découvrez la magie d'Excel avec Kutools AI
- Exécution intelligente : Effectuez des opérations sur les cellules, analysez les données et créez des graphiques, le tout piloté par des commandes simples.
- Formules personnalisées : Générez des formules adaptées pour rationaliser vos flux de travail.
- Codage VBA : Écrivez et implémentez du code VBA sans effort.
- Interprétation des formules : Comprenez facilement des formules complexes.
- Traduction de texte : Surmontez les barrières linguistiques dans vos feuilles de calcul.
Comparer deux chaînes pour leur similarité ou mettre en évidence les différences avec un code VBA
Si vous souhaitez comparer deux chaînes et mettre en évidence les similitudes ou différences entre elles, le code VBA suivant peut vous aider.
1. Appuyez simultanément sur les touches Alt + F11 pour ouvrir la fenêtre Microsoft Visual Basic for Applications.
2. Dans la fenêtre Microsoft Visual Basic for Applications, cliquez sur Insertion > Module. Ensuite, copiez et collez le code suivant dans la fenêtre Code.
Code VBA : Comparer deux colonnes de chaînes pour leur similarité ou mettre en évidence les différences
Sub highlight()
Dim xRg1 As Range
Dim xRg2 As Range
Dim xTxt As String
Dim xCell1 As Range
Dim xCell2 As Range
Dim I As Long
Dim J As Integer
Dim xLen As Integer
Dim xDiffs As Boolean
On Error Resume Next
If ActiveWindow.RangeSelection.Count > 1 Then
xTxt = ActiveWindow.RangeSelection.AddressLocal
Else
xTxt = ActiveSheet.UsedRange.AddressLocal
End If
lOne:
Set xRg1 = Application.InputBox("Range A:", "Kutools for Excel", xTxt, , , , , 8)
If xRg1 Is Nothing Then Exit Sub
If xRg1.Columns.Count > 1 Or xRg1.Areas.Count > 1 Then
MsgBox "Multiple ranges or columns have been selected ", vbInformation, "Kutools for Excel"
GoTo lOne
End If
lTwo:
Set xRg2 = Application.InputBox("Range B:", "Kutools for Excel", "", , , , , 8)
If xRg2 Is Nothing Then Exit Sub
If xRg2.Columns.Count > 1 Or xRg2.Areas.Count > 1 Then
MsgBox "Multiple ranges or columns have been selected ", vbInformation, "Kutools for Excel"
GoTo lTwo
End If
If xRg1.CountLarge <> xRg2.CountLarge Then
MsgBox "Two selected ranges must have the same numbers of cells ", vbInformation, "Kutools for Excel"
GoTo lTwo
End If
xDiffs = (MsgBox("Click Yes to highlight similarities, click No to highlight differences ", vbYesNo + vbQuestion, "Kutools for Excel") = vbNo)
Application.ScreenUpdating = False
xRg2.Font.ColorIndex = xlAutomatic
For I = 1 To xRg1.Count
Set xCell1 = xRg1.Cells(I)
Set xCell2 = xRg2.Cells(I)
If xCell1.Value2 = xCell2.Value2 Then
If Not xDiffs Then xCell2.Font.Color = vbRed
Else
xLen = Len(xCell1.Value2)
For J = 1 To xLen
If Not xCell1.Characters(J, 1).Text = xCell2.Characters(J, 1).Text Then Exit For
Next J
If Not xDiffs Then
If J <= Len(xCell2.Value2) And J > 1 Then
xCell2.Characters(1, J - 1).Font.Color = vbRed
End If
Else
If J <= Len(xCell2.Value2) Then
xCell2.Characters(J, Len(xCell2.Value2) - J + 1).Font.Color = vbRed
End If
End If
End If
Next
Application.ScreenUpdating = True
End Sub
3. Appuyez sur la touche F5 pour exécuter le code. Dans la première boîte de dialogue Kutools for Excel, sélectionnez la première colonne de chaînes de texte que vous devez comparer, puis cliquez sur le bouton OK.
4. Ensuite, la deuxième boîte de dialogue Kutools for Excel apparaît, veuillez sélectionner la deuxième colonne de chaînes, puis cliquez sur le bouton OK.
5. Dans la dernière boîte de dialogue Kutools for Excel, si vous souhaitez comparer les chaînes pour leur similarité, cliquez sur le bouton Oui. Et pour mettre en évidence les différences des chaînes comparées, cliquez sur le bouton Non. Voir la capture d'écran :
Vous pouvez ensuite voir les résultats comparés comme le montre la capture d'écran ci-dessous.
Articles connexes :
- Comment comparer deux colonnes et mettre en évidence les données non correspondantes dans Excel ?
- Comment comparer exactement deux chaînes (sensible à la casse) dans Excel ?
Meilleurs outils de productivité Office
Dynamisez vos compétences Excel avec Kutools pour Excel et découvrez une efficacité inégalée. Kutools pour Excel propose plus de300 fonctionnalités avancées pour booster votre productivité et gagner du temps. Cliquez ici pour obtenir la fonctionnalité la plus essentielle pour vous...
Office Tab apporte une interface à onglets à Office, et facilite grandement votre travail
- Activez la modification et la lecture par onglets dans Word, Excel, PowerPoint, Publisher, Access, Visio et Project.
- Ouvrez et créez plusieurs documents dans de nouveaux onglets de la même fenêtre, au lieu d’ouvrir de nouvelles fenêtres.
- Augmentez votre productivité de50% et réduisez des centaines de clics de souris chaque jour!