IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Macros et VBA Excel Discussion :

suppression de données dans une listbox


Sujet :

Macros et VBA Excel

  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2008
    Messages
    66
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 66
    Par défaut suppression de données dans une listbox
    Bonjour tout le monde,

    J'essaie d'utiliser une commandbutton afin de supprimer la ligne que j'ai sélectionné dans la listbox qui s'appelle Listparois.

    J'ai essayé en adaptant le tutoriel par rapport à mon problème, mais quand, lors de l'application, je clique sur le bouton, vba affiche une erreur.

    Ma listbox comporte 3 colonnes si ça peut vous aider.

    Cordialement

    PS : Si vous avez besoin de plus d'informations, veuillez me prévenir, merci

  2. #2
    Invité
    Invité(e)
    Par défaut
    Bonjour

    On aurait besoin du code sur le bouton, car pour trouver , et de quel tutorial tu parles.

    Starec

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2008
    Messages
    66
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 66
    Par défaut
    Le voici :

    Supprimer un élément dans une ListBox.
    L'exemple ci-dessous enlève un Item lors du double clic sur la ligne.
    Vba


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Private Sub Listbox1_Dblclick(ByVal Cancel As MSForms.ReturnBoolean)
        'Remarque:
        'La propriété RowSource n'accepte pas cette méthode
        ListBox1.RemoveItem (ListBox1.ListIndex)
    End Sub

    J'espère que ça pourra t'aider, car en voulant adapter le code à mon problème, cette méthode n'a visiblement pas fonctionné

  4. #4
    Inactif  
    Avatar de ouskel'n'or
    Profil pro
    Inscrit en
    Février 2005
    Messages
    12 464
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 12 464
    Par défaut
    En attendant que je teste, as-tu essayé en créant ta liste avec List() ?
    A+

  5. #5
    Inactif  
    Avatar de ouskel'n'or
    Profil pro
    Inscrit en
    Février 2005
    Messages
    12 464
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 12 464
    Par défaut
    Testé=>Ok !
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    Private Sub CommandButton1_Click()
    ListBox1.RemoveItem (ListBox1.ListIndex)
    End Sub
     
    Private Sub UserForm_Initialize()
    Dim FL1 As Worksheet, tablo
    Set FL1 = Worksheets("feuil1")
    Tablo = FL1.Range("A1:j" & FL1.Range("A65536").End(xlUp).Row).Value
    ListBox1.List() = Tablo
    'ListBox1.ListIndex = ListBox1.ListCount - 1
    End Sub
    Tu dis

  6. #6
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2008
    Messages
    66
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 66
    Par défaut
    En ce qui concerne la création de liste, ce n'est pas vraiment un problème. J'ai réussi à insérer des données avec d'autres listes ainsi qu'avec des textbox+Commandbutton.

    Mon problème est dans la suppression d'une ligne "erronée" sélectionnée avec une CommandButton

    Si tu as des idée, pourrais tu me les communiquer, merci

  7. #7
    Inactif  
    Avatar de ouskel'n'or
    Profil pro
    Inscrit en
    Février 2005
    Messages
    12 464
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 12 464
    Par défaut
    En ce qui concerne la création de liste, ce n'est pas vraiment un problème
    Si, puisqu'avec RowSource, tu ne peux pas utiliser RemoveItem (ce qui paraît logique) ton problème est bien la création de tes listes.
    Le code que je t'ai passé avec List() fonctionne (!)

  8. #8
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2008
    Messages
    66
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 66
    Par défaut euh
    Je n'ai pas créer la liste avec la méthode Rowsource, mais avec la méthode Additem

  9. #9
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2008
    Messages
    66
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 66
    Par défaut Petite précision
    Ce n'est pas de la création, c'est la suppression (2ème édition)

  10. #10
    Inactif  
    Avatar de ouskel'n'or
    Profil pro
    Inscrit en
    Février 2005
    Messages
    12 464
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 12 464
    Par défaut
    Ma listbox comporte 3 colonnes si ça peut vous aider.
    Tu as renseigné ta liste avec Additem ? Sur trois colonnes ? Alors il serait bien que tu mettes ton code, je sais pas faire
    A+

  11. #11
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2008
    Messages
    66
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 66
    Par défaut Insertion données
    ça marche

    Tout d'abord par une Listbox :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    Private Sub Listmur_Click()
     
    Dim i As Integer, surf As Single
     
    Sheets("surfacique").Select
     
    For i = 0 To 6
        If Listmur.Selected(i) = True Then
     
            surf = InputBox("Quelle est la surface exposée (m²)?")
     
            Listparois.AddItem Cells(i + 2, 2), ListCount
            Listparois.List(Listparois.ListCount - 1, 1) = surf * Cells(i + 2, 4)
            Listparois.List(Listparois.ListCount - 1, 2) = "T ext"
     
        End If
    Next
     
    End Sub
     
     
    Et voici par l'ensemble TextBox+CommandButton : 
     
     
    Private Sub ajout_mur_Click()
    'C'est un CommandButton
     
    Listparois.AddItem TextBox1.Value, ListCount
     
    Listparois.List(Listparois.ListCount - 1, 1) = TextBox2.Value * TextBox3.Value
     
    If TextBox4.Visible = True Then
        Listparois.List(Listparois.ListCount - 1, 2) = TextBox4.Value
    Else
        Listparois.List(Listparois.ListCount - 1, 2) = "T ext"
    End If
     
    new_paroi.Enabled = False
    new_paroi.Visible = False
    'C'est une Frame
     
    TextBox1.Value = ""
    TextBox2.Value = ""
    TextBox3.Value = ""
    TextBox4.Value = ""
     
    End Sub

    Et j'ai essayé : les deux méthodes marchent

  12. #12
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2008
    Messages
    66
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 66
    Par défaut
    j'espère que j'ai pu t'éclairer sur ce que je veux dire (et sur les méthodes que j'ai utilisé)

    A plus

  13. #13
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2008
    Messages
    66
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 66
    Par défaut
    Pas vraiment, c'est justement le problème que j'expose depuis le début

  14. #14
    Inactif  
    Avatar de ouskel'n'or
    Profil pro
    Inscrit en
    Février 2005
    Messages
    12 464
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 12 464
    Par défaut
    Sans le contexte, je n'arrive pas à reproduire le pb...
    Le mieux ne serait-il pas que tu joignes ton fichier "simplifié" ?
    A+

  15. #15
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2008
    Messages
    66
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 66
    Par défaut
    euh, il fait 10méga , le fichier

    à vrai dire, mon fichier est un ensemble de modules et de userforms, pas moyen de l'envoyer d'un coup

    PS : le remplissage de ma liste a buggé ce matin (seule la dernière ligne est pleine) je vais essayé de comprendre pourquoi

  16. #16
    Inactif  
    Avatar de ouskel'n'or
    Profil pro
    Inscrit en
    Février 2005
    Messages
    12 464
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 12 464
    Par défaut
    J'ai repris ton code en tendant de l'adapter et j'ai effectivement eu un bug sur le remplissage. Sans essayer de comprendre plus loin, tu dimensionnes une liste à 10 et l'autre à 6, cela n'a-t-il pas une incidence ?
    A tout hasard

  17. #17
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2008
    Messages
    66
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 66
    Par défaut
    Pas vraiment, j'ai trouvé la solution pour le problème de remplissage.

    J'ai juste remplacer :

    Listparois.AddItem TextBox1.Value, ListCount


    par :

    Listparois.AddItem TextBox1.Value


    Normalement, ça devrait marcher.
    Sinon, pourrions nous revenir à nos moutons, s'il te plait?
    Merci

    Et ma listbox a 3 colonnes

  18. #18
    Inactif  
    Avatar de ouskel'n'or
    Profil pro
    Inscrit en
    Février 2005
    Messages
    12 464
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 12 464
    Par défaut
    Comme je t'ai dit, je n'ai pas réussi à reproduire l'erreur si je renseigne la liste avec additem et list sur trois colonnes avec le code que j'utilise. Avec le tien adapté à ma base de données, j'ai un bug.
    Voilà !

    Ce que je fais ? Avec deux listes et un bouton sur un usf :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    Dim FL1 As Worksheet
     
    Private Sub CommandButton1_Click()
    ListBox2.RemoveItem ListBox2.ListIndex
    End Sub
     
    Private Sub UserForm_Initialize()
    Set FL1 = Worksheets("feuil1")
    'Je renseigne la liste 1
    Tablo = FL1.Range("A1:j" & FL1.Range("A65536").End(xlUp).Row).Value
    ListBox1.List() = Tablo
    'Je renseigne la liste 2
    Dim Tablo2(10, 0)
        For i = 0 To 10
            Tablo2(i, 0) = FL1.Cells(i + 1, 2)
        Next
        ListBox2.ColumnCount = 3
        ListBox2.Column() = Tablo
    End sub
    Mon code n'est pas le tien, je sais, mais le mien fonctionne... si ça peut t'aider à comprendre...
    Bonne chance

  19. #19
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2008
    Messages
    66
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 66
    Par défaut
    Je vais toujours essayé, la première partie serai susceptible de m'intéresser

  20. #20
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2008
    Messages
    66
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 66
    Par défaut
    beaucoup, ça fonctione

    indique moi si je peux mettre "résolu" ou si tu as besoin de mes lumières

+ Répondre à la discussion
Cette discussion est résolue.
Page 1 sur 2 12 DernièreDernière

Discussions similaires

  1. [XL-2003] affichage de donnée dans une listbox ou textbox d'un userform
    Par revemane dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 17/05/2009, 21h13
  2. Réponses: 3
    Dernier message: 12/03/2009, 11h37
  3. Réponses: 3
    Dernier message: 03/07/2008, 15h32
  4. Réponses: 5
    Dernier message: 10/01/2008, 09h47
  5. Comment faire apparaitre des données dans une listbox
    Par nuans dans le forum Interfaces Graphiques
    Réponses: 3
    Dernier message: 14/05/2007, 16h04

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo