Supprimer ligne sélectionnée dans listbox excel [Résolu]

Signaler
Messages postés
45
Date d'inscription
jeudi 3 juillet 2008
Statut
Membre
Dernière intervention
16 novembre 2012
-
dedenet2
Messages postés
372
Date d'inscription
vendredi 27 juillet 2007
Statut
Membre
Dernière intervention
22 juillet 2013
-
Bonsoir le forum,
Question peut-être mainte fois posée, mais je ne trouve pas de réponse claire sur le net.
Voilà, j'ai sur excel une listbox qui a en propriété ("feuil1!Liste). Liste corespondant aux cellules A1:A10.
Je mets tout cela dans un userform avec un commandbutton. Je voudrais connaitre le code qui me permettrait de supprimer la ligne sélectionnée dans mon listbox donc par la même, les valeurs de la cellule correspondante dans Liste.
J'espère que quelqu'un comprend ce que j'écris.
Merci par avance.
En attendant, je poursuis mes recherche...
Bien à vous

eric

5 réponses

Messages postés
13298
Date d'inscription
lundi 13 décembre 2004
Statut
Modérateur
Dernière intervention
3 février 2018
30
salut,

simple idée hein (pas de VBA pour moi ^^)
le combo a la propriété listindex pour le numéro de l'item, commençant à 0

donc je dirais un truc du genre cells("A" & combo1.listindex+1).text = vbnullstring

ou cell(...)
et .value? (au lieu de .text)

enfin çà doit être dans cet ordre d'idée ;)
suivi sans doute d'un .refresh de la combo (ton item sera alors présent mais vide)

++
Prenez un instant pour répondre à [infomsg_SONDAGE-POP3-POUR-CS_769706.aspx ce sondage] svp  
Messages postés
372
Date d'inscription
vendredi 27 juillet 2007
Statut
Membre
Dernière intervention
22 juillet 2013
1
Bonjour Thibaultanguy



Je pense avoir compris ce que tu veux mais il y a plusieurs solutions.Tout dépend
ce que l'on veut faire à terme.En programmation VBA Excel , il faut être precis !

Voici une solution pour supprimer une ligne dans un listbox et en meme temps
que dans les cellules.
(Il faudrait aussi un moyen de remplir la liste du listbox)
Les conditions de fonctionnement de ce programme sont les suivants:
    -La feuil1 doit servir uniquement pour le remplissage du "Listbox"
    -Creer Userform nommé "Userform1"
    -Créer un bouton nommé "CmdSupprimer"
    -Créer Listbox nommé "Listbox1"
    
Ma methode ici en gros , c'est d'abord supprimer la ligne dans la feuil1 puis ensuite
recharger le Listbox.Toi , c'était plutôt le contraire, je crois !
La colonne "A" qui debute en "A1" sert de liste et la fin est
detectée par un code.

Code en VBA Excel:

-----------------------------------------------------------------------------------
 Private Sub CmdSupprimer_Click()
  Dim LigneSelectionnée As Integer
      'Cherche la ligne selectionnée
       LigneSelectionnée = Me.ListBox1.ListIndex + 1
         If Me.ListBox1.ListCount >= 0 And LigneSelectionnée > 0 Then
           'Supprime la ligne
           Feuil1.Rows(LigneSelectionnée).Delete
         End If



        'Recharge le listBox
         Call ChargerListBox
 End Sub
-------------------------------------------------------------------------------------------
 Private Sub UserForm_Initialize()
       'Appel le module
        Call ChargerListBox
 End Sub
----------------------------------------------------------------------------------------------

Sub ChargerListBox()
  Dim CelluleHautduTableau As String
  Dim CelluleBasduTableau As String
  
   CelluleHautduTableau = "A1"
  'Recherche la cellule la plus basse du tableau
   CelluleBasduTableau = "A" & Feuil1.Range("a65536").End(xlUp).Row
  'Charge le listbox
  
   Me.ListBox1.RowSource = "feuil1!" & CelluleHautduTableau & ":" & CelluleBasduTableau



End Sub
------------------------------------------------------------------------------------------------
Je ne sais pas si c'est vraiment ce que tu veux.
Merci de me donner des nouvelles

Salut
Messages postés
45
Date d'inscription
jeudi 3 juillet 2008
Statut
Membre
Dernière intervention
16 novembre 2012

Merci à vous tous et plus particulièrement à Dedenet pour son code miracle!


Non seulement tu as compris ce que je voulais, mais en plus le code fonctionne !


A condition que je supprime 'Recharge le listBox
         Call ChargerListBox
car cela pose un problème!?.
Je pense que tu vas faire des heureux car je n'ai pas trouvé sur les forums la réponse et je sais que beaucoup d'entre nous l'attendais avec impatience.
Merci à toi Dedenet car grace à toi, je peux continuer mon...bidouillage sur excel!

eric
Messages postés
45
Date d'inscription
jeudi 3 juillet 2008
Statut
Membre
Dernière intervention
16 novembre 2012

 En fait Dedenet, Tout fonctionne !!
Le problème venait de moi quant à la ligne de code : Call ChargerListBox
Ne pas suivre les instructions jusqu'au bout me jouera des tours !!!!
Encore une fois, chapeau bas !!!
Tu fais pour moi novice, figure de Maître en la matière!
Bon week-end du 15 août à tous et merci de prendre le temps de répondre à nos appels "au secours"

eric
Messages postés
372
Date d'inscription
vendredi 27 juillet 2007
Statut
Membre
Dernière intervention
22 juillet 2013
1
Bonjour thibaultanguy ,

Merci pour ton message qui me fait plaisir.
N'hésite pas à me demander de l'aide si tu en as besoin.
Si je peux t'aider même un petit peu , je le ferais......

A++ et bonne programmation