Bonjour Gabinos, bonjour le forum,
Si une proposition VBA t'intéresse :
Sub Macro1()
Dim OL As Worksheet 'déclare la variable OL (Onglet Liste)
Dim OGC As Worksheet 'déclare la variable OGC (Onglet GC)
Dim DL As Integer 'déclare la variable DL (Dernière Ligne)
Dim R As Range 'déclare la variable R (Recherche)
Dim COL As Integer 'déclare la variable COL (COLonne)
Set OL = Worksheets("liste") 'définit l'onglet OL
Set OGC = Worksheets("GC") 'définit l'onglet OGC
DL = OGC.Cells(Application.Rows.Count, "C").End(xlUp).Row 'définit la dernière ligne éditée DL de la colonne C de l'onglet OGC
For I = 2 To DL 'boucle sur toutes les lignes I de 2 à DL
Set R = OL.Rows(2).Find(OGC.Cells(I, "C").Value, , xlValues, xlWhole) 'définit la recherche R (recherche la valeur entière de la cellule de la boucle dans la ligne 2 de l'onglet OL)
If Not R Is Nothing Then 'condition : s'il existe au moins une occurrence trouvée
COL = R.Column 'définit la colonne COL de la première occurrence trouvée
'renvoie en colonne D de l'onglet OCG la dernière valeur de la colonne COL de l'onglet OL
OGC.Cells(I, "D").Value = OL.Cells(Application.Rows.Count, COL).End(xlUp).Value
End If 'fin de la condition
Next I 'prochaine ligne de la boucle
End Sub