Supprimer ligne ComboBox 1 a l'aide de CommandButton1_Click

Résolu/Fermé
dalton70 Messages postés 2 Date d'inscription mercredi 26 octobre 2016 Statut Membre Dernière intervention 5 novembre 2016 - 26 oct. 2016 à 10:24
dalton70 Messages postés 2 Date d'inscription mercredi 26 octobre 2016 Statut Membre Dernière intervention 5 novembre 2016 - 5 nov. 2016 à 10:46
Bonjour,
je suis en train de travailler sur un fichier de gestion congés dans une équipe de 34 personnes, et je bloque sur un code VBA:
Feuil1: j'ai une colonne noms/prénoms qui commence en A6.
j'ai un UserForm1 que j'ouvre depuis un bouton en Feuil1.
Mon UserForm1 est constituer d'un ComboBox1 et d'un bouton de validation.
Mon ComoBox1 est alimenter de ma colonne A
Et je souhaite que lorsque je clique sur mon bouton de validation, que la ligne entière sélectionner a l'aide de mon Combobox1 soit supprimer.

j'ai ces code: Alimenter mon Combobox1:

Private Sub UserForm_Activate()

Dim I As Integer

'commence à partir de A6 pour éviter la ligne des titres
Set Plage = Range([A6], [A15].End(xlDown))

'rempli le combobox
For I = 1 To Plage.Count
ComboBox1.AddItem Plage(I)
Next I

End Sub


et CommandButton1_Click:

Private Sub CommandButton1_Click()
'active la cellule selectionner correspondent a la combobox1
Rows.[UserForm1.ComboBox1.ListIndex +1 & ":" & UserForm1.ComboBox1.ListIndex +1].Select

If MsgBox("Etes vous sûr de supprimer cette ligne?", vbYesNo) = vbYes Then
Rows(UserForm1.ComboBox1.ListIndex + 1).Delete
Unload Me

End Sub

et la... message d'erreur, grattage de crane, les gambes qui danses, etc... durant plusieurs heurs, j'ai creuser et creuser sur les forum, mais... je ne parviens pas a trouvé mon bug
A voir également:

1 réponse

Gyrus Messages postés 3334 Date d'inscription samedi 20 juillet 2013 Statut Membre Dernière intervention 9 décembre 2016 523
26 oct. 2016 à 11:34
Bonjour,

Essaie comme cela :
Private Sub UserForm_Initialize()
Me.ComboBox1.List = Range("A6", Range("A6").End(xlDown)).Value
End Sub

Private Sub CommandButton1_Click()
Dim Ligne As Long
Ligne = Me.ComboBox1.ListIndex + 6
If MsgBox("Etes vous sûr de vouloir supprimer " & Range("A" & Ligne).Value & " ?", vbYesNo) = vbYes Then _
Rows(Ligne).Delete
Unload Me
End Sub

A+
1
dalton70 Messages postés 2 Date d'inscription mercredi 26 octobre 2016 Statut Membre Dernière intervention 5 novembre 2016
5 nov. 2016 à 10:46
C'est parfait, merci beaucoup!!!
0