Bonsoir Tacentaure, bonsoir le forum,
Par formule je ne sais pas faire. Si une proposition VBA peut convenir, regarde ton fichier en pièce jointe avec le code ci-dessous :
Private Sub Worksheet_Change(ByVal Target As Range) 'au changement dans l'onglet
Dim TV As Variant 'déclare la variable TV (Tableau des Valeurs)
Dim I As Integer 'déclare la variable I (Incrément)
Dim J As Integer 'déclare la variable J (incrément)
Dim TL() As Variant 'déclare la variable TL (Tableau des Lignes)
If Target.Address <> "$H$12" Then Exit Sub 'si le changement a lieu ailleurs qu'en H12 sort de la procédure
TV = Range("C10").CurrentRegion 'définit la tableau des valeurs TV
For I = 1 To UBound(TV, 1) 'boucle sur toutes les lignes I du tableau des valeurs TV
If TV(I, 1) = Target.Value Then 'ai la donnée ligne I colonne 1 de TV est égale à la cellule modifiée (H12)
J = J + 1 'incrémente J
ReDim Preserve TL(1 To J) 'redimensionne le tableau des lignes TL
TL(J) = TV(I, 2) 'définit la valeur de TL(J) 'la donnée en ligne I colonne 2 de TV
End If 'fin de la condition
Next I 'prochaine ligne de la boucle
Range("H14").CurrentRegion.ClearContents 'efface les ancienne valeurs à partir de H14
Range("H14").Resize(J, 1).Value = Application.Transpose(TL) 'renvoie le tableau TL transposé dans H14 redimensionnées
End Sub