Une autre approche sans vba
En D2 la formule (que tu tires vers le bas):
=SI(ESTNA(EQUIV(A2;$C$2:$C$3600;0));"";INDEX($B$2:$B$3600;EQUIV(A2;$C$2:$C$3600;0)))
Qu'on peut appliquer par vba (et en figeant les valeurs)
1 2 3 4 5 6 7 8 9 10 11 12 13
| Sub Test()
Dim LastLig As Long, NbLig As Long
Application.ScreenUpdating = False
With Worksheets("Feuil1") 'Adapte le nom de ta feuille
LastLig = .Cells(.Rows.Count, "A").End(xlUp).Row
NbLig = .Cells(.Rows.Count, "B").End(xlUp).Row
With .Range("D2:D" & LastLig)
.Formula = "=IF(ISNA(MATCH(A2,$C$2:$C$" & NbLig & ",0)),"""",INDEX($B$2:$B$" & NbLig & ",MATCH(A2,$C$2:$C$" & NbLig & ",0)))"
.Value = .Value
End With
End With
End Sub |
Partager