Sub Bouton1_Cliquer()
'Déclaration des variables
Dim rngColumnI As Range, rngColumnD As Range, Find As Range
Set rngColumnI = Range("I5:I820")
Set rngColumnD = Range("D5:D808")
Dim element As Variant
'Blocage du refresh de l'interface
Application.ScreenUpdating = False
'Boucle sur toute les cellules (dans la range) dans J
For Each element In rngColumnI
'Cherche si la cellules existe aussi dans D
Set Find = rngColumnD.Cells.Find(What:=SupAccents(element), lookat:=xlWhole)
'Condition si la valeur est trouvé
If Not Find Is Nothing Then
'Recopie de la valeur dans J pour la mettre dans E
Range("E" & Find.Row) = (Range("J" & element.Row))
End If
Next
'Déblocage du refresh de l'interface
Application.ScreenUpdating = True
End Sub
Function SupAccents(ByVal sChaine As String) As String
Dim sTmp As String, i As Long, p As Long
Const sCarAccent As String = "ÁÂÃÄÅÇÈÉÊËÌÍÎÏÑÒÓÔÕÖÙÚÛÜÝàáâãäåçèéêëìíîïñòóôõöùúûüýÿ"
Const sCarSansAccent As String = "AAAAACEEEEIIIINOOOOOUUUUYaaaaaaceeeeiiiinooooouuuuyy"
sTmp = sChaine
For i = 1 To Len(sTmp)
p = InStr(sCarAccent, Mid(sTmp, i, 1))
If p > 0 Then Mid$(sTmp, i, 1) = Mid$(sCarSansAccent, p, 1)
Next i
SupAccents = sTmp
End Function