Bonjour Ergotamine,
Je me suis permis une adaptation à ma sauce pour essayer d'automatiser le plus possible Je ne sais même pas si ça marche vu que je n'ai pas de fichier...
Monadesign_83, tu dois préciser le Label auquel tu veux appliquer la valeur, par exemple : Me.Label76.Caption=Format(Round(Cdbl(Application.Index(.Range("S:S"), L)), 2), "#,##0.00")
Private Sub ComboBox1_Change()
Dim Ws As Worksheet
Dim PremLig As Long, DernLig As Long, i As Long, Lig As Long
Dim Col As String, SearchValue As String
Dim Plage() As Variant, ListLabel() As Variant, ListCol() As Variant, ListTxt() As Variant
Dim ValueFind As Boolean
On Error GoTo GestionError
'//Paramètrage des valeurs////////////////////////////////////////////////////////////////////////
Set Ws = ThisWorkbook.Worksheets("BC") 'La feuille sur laquellle tu veux travailler
Col = "ED" 'Colonne où effectuer les recherches
PremLig = 10 'Effectuer la recherche à partir de cette ligne
ListLabel = Array(46, 47, 52, 54, 56, 59, 61, 62, 76, 77, 78) 'Liste des Label du Userform à remplir
ListCol = Array("EE", "EF", "AA", "I", "EG", "C", "L", "BM", "S", "T", "U") 'List des colonnes où récupérer les données pour remplir les Label correspondants
ListTxt = Array(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18) 'Liste des textBox à remplir
'/////////////////////////////////////////////////////////////////////////////////////////////////
'//A partir d'ici tout est automatique////////////////////////////////////////////////////////////
If UBound(ListLabel) <> UBound(ListCol) Then MsgBox "Le nombre de colonne et de Label configurés ne correspondent pas", vbCritical: Exit Sub
DernLig = Ws.Range(Col & Ws.Rows.Count).End(xlUp).Row
If DernLig < PremLig Then Exit Sub 'Cas si colonne vide
Plage = Ws.Range(Col & PremLig & ":" & Col & DernLig).Value
SearchValue = Me.ComboBox1
ValueFind = False
For i = LBound(Plage) To UBound(Plage)
If Plage(i, 1) = SearchValue Then ValueFind = True: Lig = i + PremLig - 1: Exit For
Next i
If ValueFind = False Then MsgBox "Pas de valeur correspondante", vbCritical: Exit Sub
For i = LBound(ListTxt) To UBound(ListTxt)
Me.Controls("TextBox" & ListTxt(i)) = Ws.Cells(Lig, i + 116)
Next i
For i = LBound(ListCol) To UBound(ListCol)
Me.Controls("Label" & ListLabel(i)).Caption = Ws.Range(ListCol(i) & Lig)
Next i
'/////////////////////////////////////////////////////////////////////////////////////////////////
Set Ws = Nothing
GestionError: MsgBox "Une erreure critique est survenue.", vbCritical
End Sub