Bonjour la communauté,

Lorsque mon code rencontre cboFunctions il m'affiche une erreur de code 438.
Quelqu'un pourrait-il m'aider sur cette erreur ?
Ou se trouve l'erreur dans mon code ?

Mercu d'avance et bon week end

Habiler

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
Sub RemplirComboboxEtAfficherValeur()
    Dim wsFctHuis As Worksheet
    Dim wsFuncties As Worksheet
    Dim cboFunctions As OLEObject
    Dim selectedValue As Range
    Dim lastRow As Long
    Dim i As Long
 
    ' Références aux feuilles
    Set wsFctHuis = Worksheets("FctHuis2023")
    Set wsFuncties = Worksheets("Functies")
 
    ' Référence au ComboBox
    Set cboFunctions = wsFuncties.Shapes("CboFunctions").OLEFormat.Object
 
    ' Effacer les éléments existants dans le ComboBox
   cboFunctions.Clear
 
    ' Trouver la dernière ligne avec des données dans les colonnes A et B de FctHuis2023
    lastRow = wsFctHuis.Cells(wsFctHuis.Rows.Count, "B").End(xlUp).Row
 
    ' Trier les données par ordre croissant en fonction de la colonne B
    wsFctHuis.Sort.SortFields.Clear
    wsFctHuis.Sort.SortFields.Add key:=wsFctHuis.Range("B2:B" & lastRow), _
        SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
    With wsFctHuis.Sort
        .SetRange wsFctHuis.Range("A1:C" & lastRow)
        .header = xlYes
        .MatchCase = False
        .Orientation = xlTopToBottom
        .SortMethod = xlPinYin
        .Apply
    End With
 
    ' Remplir le ComboBox avec les données triées
    For i = 2 To lastRow
        cboFunctions.AddItem wsFctHuis.Cells(i, 1) & " - " & wsFctHuis.Cells(i, 2)
    Next i
 
    ' Sélectionner la première valeur dans le ComboBox
    cboFunctions.ListIndex = 0
 
    ' Afficher la valeur de la colonne C dans Functies!B3
    Set selectedValue = wsFctHuis.Range("C" & cboFunctions.ListIndex + 2)
    wsFuncties.Range("B3").Value = selectedValue.Value
End Sub