Supprimer d'une liste un item sélectionné vba
Fermé
bithack
Messages postés
129
Date d'inscription
mercredi 29 octobre 2014
Statut
Membre
Dernière intervention
16 mars 2016
-
16 mars 2016 à 10:36
ThauTheme Messages postés 1442 Date d'inscription mardi 21 octobre 2014 Statut Membre Dernière intervention 29 juillet 2022 - 16 mars 2016 à 14:10
ThauTheme Messages postés 1442 Date d'inscription mardi 21 octobre 2014 Statut Membre Dernière intervention 29 juillet 2022 - 16 mars 2016 à 14:10
3 réponses
cs_Le Pivert
Messages postés
7903
Date d'inscription
jeudi 13 septembre 2007
Statut
Contributeur
Dernière intervention
11 mars 2024
728
16 mars 2016 à 10:43
16 mars 2016 à 10:43
Bonjour,
Voir ceci:
https://silkyroad.developpez.com/VBA/ControlesUserForm/#LII-G
Voir ceci:
https://silkyroad.developpez.com/VBA/ControlesUserForm/#LII-G
cs_Le Pivert
Messages postés
7903
Date d'inscription
jeudi 13 septembre 2007
Statut
Contributeur
Dernière intervention
11 mars 2024
728
Modifié par cs_Le Pivert le 16/03/2016 à 13:43
Modifié par cs_Le Pivert le 16/03/2016 à 13:43
Donc si tu as lu ce tuto jusqu'au bout tu as la solution!
@+ Le Pivert
Option Explicit Private Sub CommandButton1_Click() Dim index As Integer ListBox1.RemoveItem (ListBox1.ListIndex) index = ListBox1.ListIndex + 1 Rows(index & ":" & index).Delete Shift:=xlUp'supprime la ligne End Sub Private Sub UserForm_Initialize() Dim Cell As Range Dim Unique As New Collection Dim Valeur As Range Dim i As Integer 'Récupère la derniere ligne non vide dans la colonne A i = Range("A65536").End(xlUp).Row On Error Resume Next 'boucle sur les cellules de la colonne A For Each Cell In Range("A1:A" & i) 'Stocke les données dans une collection '(La collection n'accepte que des données uniques et permet donc ' de filtrer facilement les doublons). Unique.Add Cell, CStr(Cell) Next Cell On Error GoTo 0 'Boucle sur le contenu de la collection pour alimenter la ListBox For Each Valeur In Unique Me.ListBox1.AddItem Valeur Next Valeur End Sub
@+ Le Pivert
ThauTheme
Messages postés
1442
Date d'inscription
mardi 21 octobre 2014
Statut
Membre
Dernière intervention
29 juillet 2022
160
16 mars 2016 à 14:10
16 mars 2016 à 14:10
Bonjour le fil, bonjour le forum,
À adapter... Une Userform avec une Combobox1, un CommandButton1 / Ajouter, un CommandButton2 / Supprimer. La liste des items se trouve dans la colonne A à partir de la ligne 2. A1 contient une étiquette... Code commenté.
À adapter... Une Userform avec une Combobox1, un CommandButton1 / Ajouter, un CommandButton2 / Supprimer. La liste des items se trouve dans la colonne A à partir de la ligne 2. A1 contient une étiquette... Code commenté.
Private DL As Integer 'décalre la variable DL (Dernière Ligne) Private Sub UserForm_Initialize() DL = Cells(Application.Rows.Count, 1).End(xlUp).Row Me.ComboBox1.List = Range("A2:A" & DL).Value End Sub Private Sub CommandButton1_Click() 'bouton "Ajouter" Cells(DL + 1, 1).Value = Me.ComboBox1.Value 'rajoute la données de la combobox dans la liste de la colonne A 'à supprimer si non nécéssaire '***************************** 'tri par ordre alphabétique de la liste contenant une étiquette en ligne 1 ActiveWorkbook.Worksheets("Feuil1").Sort.SortFields.Clear ActiveWorkbook.Worksheets("Feuil1").Sort.SortFields.Add Key:=Range("A1") _ , SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal With ActiveWorkbook.Worksheets("Feuil1").Sort .SetRange Range("A:A") .Header = xlYes .MatchCase = False .Orientation = xlTopToBottom .SortMethod = xlPinYin .Apply End With '***************************** End Sub Private Sub CommandButton2_Click() 'bouton "Supprimer" With Me.ComboBox1 'prend en compte la ComboBox1 .RemoveItem (.ListIndex) 'supprime de la ComboBox1 l'Item sélectionné For I = DL To 2 Step -1 'boucle inversée sur le ligne Dl à 2 'si la cellule en colonne 1 (=A) est égale à la valeur de la ComboBox1, supprime la ligne If Cells(I, 1).Value = Me.ComboBox1.Value Then Rows(I).Delete: Exit For Next I 'prochaine ligne de la boucle End With 'fin de la prise en compte de la ComboBox1 Unload Me 'vide et ferme l'UserForm UserForm1.Show 'affiche l'UserForm1 End Sub
16 mars 2016 à 11:14
je vous remercie de votre réponse !