Re : Visual Basic liste déroulante (Combobox??)
Bonjour,
Merci beaucoup pour l'orientation...J'apprend plein de choses...Ca m'a vraiment aidé
Mais il me manque un petit quelque chose pour faire marcher mon petite programmation
J'ai donc reussi a creer un userform avec une case text qui devrais contenir le nom de famille et un combobox qui va contenir les differents prenoms pour ce nom de famille...
Et enfin un commandbutton qui fermera le userform et mettra la valeur de la combobox selectionnée dans la cellule indiquée...
Mais le souci c'est de faire appel au userform sur chaque ligne de ma deuxieme feuille si la cellule prenom est vide...
j'ai ecrit donc la macro suivante:
Sub Choix_Prenom()
Set sheet3 = Worksheets("Presence")
Set sheet1 = Worksheets("base")
Dim profil As String
x = 2
Do While sheet3.Cells(x, 1).Value <> ""
If sheet3.Cells(x, 3).Value Like "" Or sheet3.Cells(x, 3).Font.Italic = True Or sheet3.Cells(x, 4).Value <> "" Then
x = x + 1
Else
UserForm1.Show
End If
Loop
J'ai réussi a ecrire les macros pour la recherche des valeurs a mettre dans la combobox:
Private Sub ComboBox1_initialize(ByVal x As Integer)
Set sheet3 = Worksheets("Presence")
Set sheet1 = Worksheets("base ")
y = 2
Do While sheet3.Cells(y, 2).Value <> ""
If sheet1.Cells(y, 1).Value Like sheet3.Cells(x, 3).Value And sheet3.Cells(x, 1).Value Like sheet1.Cells(y, 6).Value Then
UserForm1.ComboBox1.AddItem sheet3.Cells(y, 2).Value
y = y + 1
Else
y = y + 1
End If
Loop
End Sub
une macro pour le nom de famille:
Private Sub TextBox1_initialize(ByVal x As Integer)
Set sheet3 = Worksheets("Presence")
UserForm1.TextBox1.Value = sheet3.Cells(x, 3).Value
End Sub
et pour le boutton de validation:
Private Sub CommandButton1_Click_initialize(ByVal x As Integer)
Set sheet3 = Worksheets("Presence")
sheet3.Cells(x, 4).Value = UserForm1.ComboBox1.Value
Unload UserForm1
End Sub
J'ai ensuite creer une macro userform1_initialize comme suit:
Private Sub UserForm_Initialize()
Call TextBox1_initialize(x)
Call ComboBox1_initialize(x)
Call CommandButton1_Click_initialize(x)
End Sub
En fait je ne sait pas dans quel ordre placer les macros dans le userform, comment les imbriquer...J'espere avoir été assez claire
Merci encore pour votre aide