J'ai un fichier Excel avec 10 000 lignes dans la colonne A, certaines valeurs sont identiques.
Exemple:
A1 - P7767
A2 - P3443
A3 - P7767
A4 - P8746
A5 - P9435
etc...
J'ai ensuite une autre colonne avec 100 lignes qui ont certaines des valeurs trouvées dans la colonne A,
B1 - P7767
B2 - P8746
etc...
Je dois mettre en surbrillance toutes les cellules de la colonne A où la valeur se trouve dans l'une des valeurs de la colonne B
Donc, fondamentalement, la colonne B vérifie si elle peut trouver la même valeur n'importe où dans la colonne A; si la valeur est true, la cellule est laissée blanche si la valeur n'est pas trouvée dans la colonne B
J'espère que j'ai bien expliqué cela, que j'ai fait des recherches et que je pense devoir utiliser la mise en forme conditionnelle pour obtenir ce résultat, mais je suis vraiment bloqué sur la formule à utiliser et je n'arrive pas à trouver un exemple en ligne (peut-être que je ne cherche pas le terme correct car je ne suis pas sûr de savoir comment cela s'appelle exactement)
Il existe peut-être une option plus simple, mais vous pouvez utiliser VLOOKUP pour vérifier si une valeur apparaît dans une liste (et VLOOKUP est une formule puissante pour se familiariser de toute façon).
Donc, pour A1, vous pouvez définir un format conditionnel en utilisant la formule suivante:
=NOT(ISNA(VLOOKUP(A1,$B:$B,1,FALSE)))
Copier et coller spécial> Formats pour copier ce format conditionnel dans les autres cellules de la colonne A.
Que fait la formule ci-dessus:
Une formule simple à utiliser est
=COUNTIF($B:$B,A1)
La formule spécifiée est pour la cellule A1. Il suffit de copier et coller le format spécial dans l’ensemble de la colonne A
REMARQUE: vous souhaiterez peut-être supprimer les éléments en double (par exemple, les entrées en double dans la même colonne) avant de suivre ces étapes pour éviter les faux positifs.
La meilleure façon de le faire, du moins pour moi, est la suivante:
Format conditionnel-> Ajouter une nouvelle règle-> Définissez votre propre formule:
=ISNA(MATCH(A2;$B:$B;0))
Où A2 est le premier élément de la colonne A à comparer et B est la colonne dans laquelle l'élément de A sera recherché.
Une fois que vous avez défini la formule et choisi le format, appliquez cette règle à tous les éléments de la colonne.
J'espère que cela t'aides
Supposons que vous souhaitiez comparer une colonne A et une colonne H dans une même feuille de calcul.
Vous devez passer une autre colonne à côté de ces 2 colonnes et coller cette formule: = (Sheet1! A: A = Sheet1! H: H) FALSE ou TRUE apparaît dans la colonne. Vous pouvez donc utiliser cette nouvelle colonne pour colorer les valeurs non correspondantes à l'aide de la fonctionnalité de mise en forme conditionnelle des couleurs.
A1 -> mise en forme conditionnelle -> la valeur de la cellule est B1 -> format: tout ce que vous voulez
j'espère que ça t'as aidé
J'essayais de comparer les colonnes A à B et de mettre en surbrillance le texte identique, mais en utilisant le texte ci-dessus, certains textes ne correspondaient pas du tout. J'ai donc utilisé des codes de formulaire ( macro VBA pour comparer deux colonnes et différencier les cellules de surlignage de couleur ) et j'ai modifié quelques éléments pour l'adapter à mon application et trouver la colonne de votre choix (en cliquant dessus). Dans mon cas, j'utilise des nombres de lignes importants et différents sur chaque colonne. J'espère que cela t'aides:
Sub ABTextCompare ()
Dim Report As Worksheet
Dim i, j, colNum, vMatch As Integer
Dim lastRowA, lastRowB, lastRow, lastColumn As Integer
Dim ColumnUsage As String
Dim colA, colB, colC As String
Dim A, B, C As Variant
Set Report = Excel.ActiveSheet
vMatch = 1
'Select A and B Columns to compare
On Error Resume Next
Set A = Application.InputBox(Prompt:="Select column to compare", Title:="Column A", Type:=8)
If A Is Nothing Then Exit Sub
colA = Split(A(1).Address(1, 0), "$")(0)
Set B = Application.InputBox(Prompt:="Select column being searched", Title:="Column B", Type:=8)
If A Is Nothing Then Exit Sub
colB = Split(B(1).Address(1, 0), "$")(0)
'Select Column to show results
Set C = Application.InputBox("Select column to show results", "Results", Type:=8)
If C Is Nothing Then Exit Sub
colC = Split(C(1).Address(1, 0), "$")(0)
'Get Last Row
lastRowA = Report.Cells.Find("", Range(colA & 1), xlFormulas, xlByRows, xlPrevious).Row - 1 ' Last row in column A
lastRowB = Report.Cells.Find("", Range(colB & 1), xlFormulas, xlByRows, xlPrevious).Row - 1 ' Last row in column B
Application.ScreenUpdating = False
'***************************************************
For i = 2 To lastRowA
For j = 2 To lastRowB
If Report.Cells(i, A.Column).Value <> "" Then
If InStr(1, Report.Cells(j, B.Column).Value, Report.Cells(i, A.Column).Value, vbTextCompare) > 0 Then
vMatch = vMatch + 1
Report.Cells(i, A.Column).Interior.ColorIndex = 35 'Light green background
Range(colC & 1).Value = "Items Found"
Report.Cells(i, A.Column).Copy Destination:=Range(colC & vMatch)
Exit For
Else
'Do Nothing
End If
End If
Next j
Next i
If vMatch = 1 Then
MsgBox Prompt:="No Itmes Found", Buttons:=vbInformation
End If
'***************************************************
Application.ScreenUpdating = True
End Sub