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 :

impossible de supprimer des Items dans une listbox à choix multiple [XL-2013]


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Homme Profil pro
    Enseignant
    Inscrit en
    Juin 2012
    Messages
    317
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Juin 2012
    Messages : 317
    Par défaut
    Bonjour à tous

    J'ai 2 listbox à choix multiple sur un userform
    j'ai un bouton qui grace à une boucle, charge la deuxième listbox avec les Item sélectionner et juste là ça fonctionne, mais impossible de supprimer l'item
    J'ai essayé toute les syntaxes que j'ai pu trouver sans aucun résultat

    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
    Sub action()
     
    Dim Tableau() As String, Inscrire() As String
        Dim i As Integer, L As Integer, P As String, y As Long, A As String, Li As Integer, Z As Integer
     
        For y = 0 To Box1.ListCount - 1
     
        With Box1
            If .Selected(y) = True Then        
                 TBox1.AddItem .List(y) ' ça ça fonctionne
                 .RemoveItem y 'là ça plante, .RemoveItem (y) ça plante aussi,              
                 End If
        End With
        Next y
     
    End Sub
    L'erreur doit être encore grosse comme une maison mais j'ai grandement besoin de votre aide pour la trouvée

    Merci d'avance

    La listbox "Box1 était chargée avec "Rowsource" alors j'ai pensé que ça pouvait venir de là, mais même si la list est chargée avec une boucle, ça ne change rien : impossible de supprimer l'Item (y)

  2. #2
    Expert confirmé
    Homme Profil pro
    aucune
    Inscrit en
    Septembre 2011
    Messages
    8 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : aucune

    Informations forums :
    Inscription : Septembre 2011
    Messages : 8 208
    Par défaut
    Bonjour,

    Avec "RowSource", c'est sûr que ce n'est pas possible. Est-ce qu'elle est remplie avec "AddItem" ? Quel est le message d'erreur ?
    PS. c'est "y+1" pour removeitem.

  3. #3
    Membre éclairé
    Homme Profil pro
    Enseignant
    Inscrit en
    Juin 2012
    Messages
    317
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Juin 2012
    Messages : 317
    Par défaut
    merci pour la réponse
    donc si j'ai bien compris impossible de supprimer l'item du même N° que (y)
    alors j'ai rajouter une deuxième boucle pour supprimer l'item précédent mon (y), si il est sélectionner
    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
     
    Sub action()
     
    Dim Tableau() As String, Inscrire() As String
        Dim i As Integer, l As Integer, P As String, y As Long, A As String, Li As Integer, Z As Integer
     
    On Error Resume Next
     
     
        For y = 0 To Box1.ListCount - 1
     
        With Box1
     
            If .Selected(y) = True Then
     
                 TBox1.AddItem .List(y)
     
     
                 End If
                If y >= 1 Then
            If .Selected(y - 1) = True Then
     
                 .RemoveItem (y - 1)
               End If
                 End If
                End With
        Next y
     
     
     
     
    End Sub
    Le problème c'est que ça ne fonctionne qu'une fois car ça plante sur cette ligne

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    For y = 0 To Box1.ListCount - 1
    l'erreur est "l'indice n'appartient pas à la sélection

    je suppose que supprimer un item fou le bazar dans liscount -1
    je ne vois pas trop comment y remédier
    Y = Y + 1 ou Y = Y - 1 placer en dessous de la suppression ne fonctionne pas bon faut bien dire que je ne sais pas trop quoi faire et que je tatonne

    merci encore pour votre aide

  4. #4
    Expert confirmé Avatar de casefayere
    Homme Profil pro
    RETRAITE
    Inscrit en
    Décembre 2006
    Messages
    5 138
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 71
    Localisation : France, Ardennes (Champagne Ardenne)

    Informations professionnelles :
    Activité : RETRAITE
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Décembre 2006
    Messages : 5 138
    Par défaut
    Et si tu commences par la fin
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    For y = Box1.ListCount to 0 step -1
    ...
    Cordialement,
    Dom
    _____________________________________________
    Vous êtes nouveau ? pour baliser votre code, cliquer sur cet exemple : Anomaly
    pensez à cliquer sur :resolu: si votre problème l'est
    Par contre, il est désagréable de voir une discussion résolue sans message final du demandeur (satisfaction, désarroi, remerciement, conclusion...)

  5. #5
    Membre éclairé
    Homme Profil pro
    Enseignant
    Inscrit en
    Juin 2012
    Messages
    317
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Juin 2012
    Messages : 317
    Par défaut
    aucun changement mise à part que cette fois-ci, ça supprime le dernier item sélectionné de la liste et ça plante

    indice ne correspond pas à la sélection


  6. #6
    Membre éclairé
    Homme Profil pro
    Enseignant
    Inscrit en
    Juin 2012
    Messages
    317
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Juin 2012
    Messages : 317
    Par défaut
    je mets le fichier en ligne, se sera peu être plus clair
    http://tesafy.1fichier.com/

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. inserer des items dans une listbox en JSP sous Netbeans
    Par carole yao dans le forum NetBeans
    Réponses: 0
    Dernier message: 08/05/2012, 19h26
  2. Supprimer des Items dans une ListBox.
    Par abouhossam dans le forum Macros et VBA Excel
    Réponses: 10
    Dernier message: 23/01/2009, 11h01
  3. Supprimer des items dans une drop down liste
    Par msahmi dans le forum ASP.NET
    Réponses: 3
    Dernier message: 04/04/2008, 10h59
  4. Sélectionner des Items dans une ListBox
    Par berpi dans le forum Débuter
    Réponses: 3
    Dernier message: 07/02/2008, 22h56
  5. Réponses: 3
    Dernier message: 29/08/2006, 12h50

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