VBA : sélection lignes dans listbox puis suppresion

  • Initiateur de la discussion Initiateur de la discussion fabien114
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

F

fabien114

Guest
[Résolu] VBA : sélection lignes dans listbox puis suppresion

Bonjour,

Je finalise une application et il me reste un module à faire.

Dans le tableau ci joint, la listbox de l'userform doit être remplie par le contenu de la colonne G sans doublon ; la personne choisie une ou plusieurs lignes de cette listbox et lors du clic sur le bouton OK, les lignes non sélectionnées doivent être supprimer du tableau (sans lignes vides dans le tableau final).

Ca peut paraitre simple mais je sèche.

Je vous ai mis volontairement ce fichier pour pas vous surcharger avec le reste du programme.

Merci
 

Pièces jointes

Dernière modification par un modérateur:
Re : VBA : sélection lignes dans listbox puis suppresion

Bonjour
Rajoute ce code dans ton usf
Option Explicit
Dim rgcat As Range


Private Sub CommandButton1_Click()
Dim c As Range

For Each c In rgcat
If c <> Me.ComboBox1 Then c.EntireRow.Delete
Next c
UserForm_Initialize
End Sub


Private Sub UserForm_Initialize()
Dim MonDico
Dim c As Range
Set rgcat = Feuil2.Range("G2", Feuil2.Range("G65536").End(xlUp))

Set MonDico = CreateObject("Scripting.Dictionary")
For Each c In rgcat
If c.Value <> "" Then MonDico.Item(c.Value) = c.Value
Next c
Me.ComboBox1.List = MonDico.items
End Sub
A++
 
Re : VBA : sélection lignes dans listbox puis suppresion

Bonjour et merci à vous deux,
Bonjour
Rajoute ce code dans ton usf

A++
Ca fonctionne à peu près mais ça ne supprime pas toutes les lignes seulement quelques unes, peut etre parce que des valeurs dans la colonne G ont la même valeur !!

Et aussi on ne peux pas sélectionner plusieurs valeurs pour par exemple ne garder que les lignes contenant "GALODE".
 
Re : VBA : sélection lignes dans listbox puis suppresion

j'ai juste rajouter
x = x - 1

après la ligne
Range(x & ":" & x).EntireRow.Delete

pour que ça fonctionne correctement.

Au début je voulais pouvoir sélectionner plusieurs valeurs dans la listebox pour qu'ils me supprime tout d'un coup mais je sais pas si on peut. Ou alors garder les valeurs sélectionnez au lieu de les supprimer.

Mais la ça fonctionne en choisissant les valeurs une par une et en cliquant à chaque fois sur Ok.

Merci beaucoup 🙂
 
Re : VBA : sélection lignes dans listbox puis suppresion

Grâce à vous deux j'ai enfin finie mon application 😀

enfin presque mais ça n'a rien à voir avec le vba => problème d'ouverture de fichier xml avec excel 2003
 
Re : VBA : sélection lignes dans listbox puis suppresion

Bonjour,

Je relance ce dossier vue que ma question porte sur la même fonction.

Donc voici mon code actuel :
Code:
Private Sub UserForm_Initialize()
Dim MonDico
Dim c As Range
    Me.ComboBox1.Text = ""
    'la feuil3 correspond à la feuille xml
    Set rgcat = Feuil3.Range("G2", Feuil3.Range("G65536").End(xlUp))

    Set MonDico = CreateObject("Scripting.Dictionary")
    For Each c In rgcat
        If c.Value <> "" Then MonDico.Item(c.Value) = c.Value
    Next c
    Me.ComboBox1.List = MonDico.items
End Sub

A la seul différence que ce n'est plus avec la colonne G mais avec la colonne dont la première valeur est XX. Le n° de colonne varie. J'ai essayé avec la fonction Find mais rien de bien fameux.

Merci 😉
 
Re : VBA : sélection lignes dans listbox puis suppresion

Bonjour Fabien

regarde le code ci-dessous, te permet d'initialiser ta variable "rgcat", le reste ne devrait pas changer, à adapter

Code:
Option Explicit
Sub test()
Dim x As Range, rgcat As Range
With Feuil3
    Set x = .Rows(1).Find("XX", , xlValues, xlWhole, , , False)
    If Not x Is Nothing Then
        Set rgcat = .Cells(2, x.Column).Resize(.Cells(65536, x.Column).End(xlUp).Row - 1, 1)
    End If
End With
End Sub

bonne journée
@+
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Réponses
5
Affichages
651
S
Réponses
2
Affichages
1 K
S
Retour