BONJOUR,
voila j'utilise le code suivant :
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
 
Private Sub UserForm_Initialize()
Dim DernièreLigne As Integer, i As Integer
Sheets("bd").Activate
    DernièreLigne = ActiveSheet.Range("c4").SpecialCells(xlCellTypeLastCell).Row + 1 ' Première ligne vide
    For i = 1 To 23
        InitCombo DernièreLigne, i
    Next
    End Sub
 
Sub InitCombo(NoLigne, NoColonne)
Dim NomCombo As String
Dim Plage As String
Sheets("bd").Activate
    Plage = Range(Cells(3, NoColonne), Cells(NoLigne, NoColonne)).Address
    NomCombo = "Cbox" & NoColonne
    With GRILLE.Controls(NomCombo)
        .Text = Cells(1, NoColonne)
        .RowSource = Plage
    End With
End Sub
pour initialiser et " modifier en rowsources " mes combobox
j'ai 23 combobox liées entre elles ( d'ou for i=1 to 23 )
par contre mon tableau base de données commence a partir de la colonne C

le hik c'est que lorsque je lance Sub UserForm_Initialize() en mode F8 et que i=1 alors j'ai
Code : Sélectionner tout - Visualiser dans une fenêtre à part
Range(Cells(3, NoColonne), Cells(NoLigne, NoColonne)).Address="$A$3:$A$16$
pour cbox1 alors qu'il me faudrait l'address="$C$3:$c$16$

je vois pas comment indexer des le depart pour cbox1 l' address "$C$3:$C$16