Sub IdentifierDoublonsSurFeuilleSource()
Dim FeuilBase As Worksheet
Dim TDon As Variant
Dim TSpl As String
Dim lignesEnDouble As Object
Dim i As Long
' Référence à la feuille source
Set FeuilBase = Worksheets("Feuil1") ' Remplacez "NomFeuilleSource" par le nom de votre feuille source
' Tableau pour stocker les données de la feuille source
TDon = FeuilBase.Range("A1:E" & FeuilBase.Cells(FeuilBase.Rows.Count, "A").End(xlUp).Row).Value
' Font color clear
With FeuilBase.Range(FeuilBase.Cells(1, 1), FeuilBase.Cells(FeuilBase.Cells(65536, 1).End(xlUp).Row, 5))
.HorizontalAlignment = xlLeft
With .Interior
.Pattern = xlNone
.TintAndShade = 0
.PatternTintAndShade = 0
End With
With .Font
.Name = "Calibri"
.FontStyle = "Normal"
.Size = 11
.Strikethrough = False
.Superscript = False
.Subscript = False
.OutlineFont = False
.Shadow = False
.Underline = xlUnderlineStyleNone
.ThemeColor = xlThemeColorLight1
.TintAndShade = 0
.ThemeFont = xlThemeFontMinor
End With
End With
' Dictionnaire pour stocker les lignes rencontrées
Set lignesEnDouble = CreateObject("Scripting.Dictionary")
' Parcours des données et identification des doublons
For i = LBound(TDon, 1) To UBound(TDon, 1)
TSpl = TDon(i, 1) & "|" & TDon(i, 2) & "|" & TDon(i, 3) & "|" & TDon(i, 4) & "|" & TDon(i, 5)
' Vérifie si la ligne est déjà rencontrée
If lignesEnDouble.Exists(TSpl) Then
' Marquer la ligne comme un doublon sur la feuille source
FeuilBase.Range("A" & i & ":E" & i).Interior.Color = RGB(255, 255, 0) ' Jaune vif pour marquer le doublon
' Mettre en gras toutes les cellules
FeuilBase.Range("A" & i & ":E" & i).Font.Bold = True
FeuilBase.Range("A" & i & ":E" & i).Font.Italic = True
FeuilBase.Range("A" & i & ":E" & i).Font.Name = "Comic Sans MS"
FeuilBase.Range("A" & i & ":E" & i).HorizontalAlignment = xlRight
Else
' Ajouter la ligne au dictionnaire
lignesEnDouble(TSpl) = True
End If
Next i
End Sub