Pour un projet, je souhaite remplir une zone de liste déroulante sur un formulaire utilisateur avec un nombre variable d'options. Le montant des options dépend d'un montant donné plus tôt dans la feuille. L'utilisateur va entrer une valeur et attribuer des noms à toutes ces valeurs. Il se pourrait qu'il n'y ait que 2 noms, mais il pourrait aussi y en avoir 10 par exemple. Je voudrais que le Combobox utilise la valeur donnée (quantité de noms) pour se remplir avec les noms, qui sont stockés à des endroits différents. Mon code actuel est présenté ci-dessous, mais il me donne les éléments suivants Compile erreur et sélectionne alors la partie .AddItem
en tant que source de l'erreur ..Utiliser une boucle For pour remplir une zone de liste déroulante
Compile error: Expected Function or variable
Private Sub UserForm_Initialize()
'Sheet1.Range("A1") contains the value for the amount of names
If Sheet1.Range("A1") = 0 Or Sheet1.Range("A1") = "" Then
'Do Nothing
Else
With ComboBox1
For n = 1 To Sheet1.Range("A1")
'col determines the column in which the names are found
'The first name is in column 2, the next in column 10, etc.
col = 2 + 8 * (n - 1)
.AddItem = Sheet2.Cells(5, col)
Next
End With
End If
End Sub
Espérons que mon problème est clair. J'ai le sentiment que je suis déjà très proche de la réponse, mais je ne pouvais pas trouver nulle part en utilisant Google ..
Merci beaucoup! – Peleus