Supprimer ligne sélectionnée dans listbox excel

Résolu
thibaultanguy Messages postés 45 Date d'inscription jeudi 3 juillet 2008 Statut Membre Dernière intervention 16 novembre 2012 - 14 août 2008 à 17:55
dedenet2 Messages postés 372 Date d'inscription vendredi 27 juillet 2007 Statut Membre Dernière intervention 22 juillet 2013 - 15 août 2008 à 12:43
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

PCPT Messages postés 13280 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 3 février 2018 49
14 août 2008 à 20:09
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  
3
dedenet2 Messages postés 372 Date d'inscription vendredi 27 juillet 2007 Statut Membre Dernière intervention 22 juillet 2013 1
14 août 2008 à 23:02
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
1
thibaultanguy Messages postés 45 Date d'inscription jeudi 3 juillet 2008 Statut Membre Dernière intervention 16 novembre 2012
15 août 2008 à 09:52
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
0
thibaultanguy Messages postés 45 Date d'inscription jeudi 3 juillet 2008 Statut Membre Dernière intervention 16 novembre 2012
15 août 2008 à 11:37
 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
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
dedenet2 Messages postés 372 Date d'inscription vendredi 27 juillet 2007 Statut Membre Dernière intervention 22 juillet 2013 1
15 août 2008 à 12:43
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
0
Rejoignez-nous