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 ligne de listbox


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    Ingénieur maintenance industriel
    Inscrit en
    Juin 2018
    Messages
    185
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur maintenance industriel
    Secteur : Transports

    Informations forums :
    Inscription : Juin 2018
    Messages : 185
    Par défaut Suppression ligne de listbox
    Bonjour,

    J'ai une listbox ou je peux supprimer et ajouter des lignes à l'aide de bouton
    sur le bouton supprimer j'ai mi le code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    Private Sub CommandButton3_Click()
    Dim i As Long
    For i = ModifList.ListBoxList.ListCount - 1 To 0 Step -1
    If ModifList.ListBoxList.Selected(i) Then
    ModifList.ListBoxList.RemoveItem (i)
    i = i - 1
    End If
    Next i
    End Sub
    cependant il me renvoi l'erreur :
    Erreur d'exécution'-2147467259(80004005)'
    Erreur non répertoriée
    à la ligne :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ModifList.ListBoxList.RemoveItem (i)
    Mon userform s'appel bien ModifList, ma Listbox s'appel bien ListBoxList, et le I renvoi bien le numéro de ligne sélectionner.

    Je ne comprend pas ce qui se passe ..
    Pouvez vous m'aider ?
    Cordialement,
    Passepartout007

  2. #2
    Membre extrêmement actif
    Homme Profil pro
    Inscrit en
    Septembre 2013
    Messages
    1 369
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Septembre 2013
    Messages : 1 369
    Par défaut
    Bonjour,

    Exemple de syntaxe

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
         For i = Me.ListBox1.ListCount - 1 To 0 Step -1
             If Me.ListBox1.Selected(i) = True Then Me.ListBox1.RemoveItem i
         Next i
    Boisgontier

  3. #3
    Membre confirmé
    Homme Profil pro
    Ingénieur maintenance industriel
    Inscrit en
    Juin 2018
    Messages
    185
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur maintenance industriel
    Secteur : Transports

    Informations forums :
    Inscription : Juin 2018
    Messages : 185
    Par défaut Re
    Bonjour Boisgontierjacques,

    Effectivement la syntaxe ressemble grandement à la mienne, j'ai tester les deux méthodes et maleureusement celui ci me renvois toujours la même erreur a la même ligne

    Erreur d'exécution'-2147467259(80004005)'
    Erreur non répertoriée
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     Me.ListBoxList.RemoveItem (i)
    Je ne comprend pas pourquoi ..;
    Cordialement,
    Passepartout007

    Ps je te remercie pour ta réponse sur le sujet https://www.developpez.net/forums/d1.../#post10384812 j'ai poser également un autre question ^^

    Tu est d"une aide précieuse et je t'en remercie.

  4. #4
    Membre actif
    Homme Profil pro
    Ingénieur
    Inscrit en
    Septembre 2017
    Messages
    132
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val d'Oise (Île de France)

    Informations professionnelles :
    Activité : Ingénieur
    Secteur : Industrie

    Informations forums :
    Inscription : Septembre 2017
    Messages : 132
    Par défaut
    Bonjour,

    Passepartout007 fais un petit effort sur l'orthographe, la grammaire et la syntaxe stp.

    Sinon, il me semble qu'il y a plus simple qu'une listbox pour réaliser ce que tu souhaites. Une zone de liste avec un nom défini par exemple ?

    Si tu peux détailler un peu ce que tu veux faire avec ta listbox ça nous permettrait de te faire des propositions alternatives éventuellement plus simples (toujours faire le plus simple possible dans ton code).

  5. #5
    Membre confirmé
    Homme Profil pro
    Ingénieur maintenance industriel
    Inscrit en
    Juin 2018
    Messages
    185
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur maintenance industriel
    Secteur : Transports

    Informations forums :
    Inscription : Juin 2018
    Messages : 185
    Par défaut Re
    Bonjour,

    Excusez moi pour ma grammaire je devais être fatigué, je vais faire attention.

    Alors je vous explique, j'ai des tableau nommé dans mon fichier excel, dans le qu'elle l'on retrouve qu'une colonne. Cette colonne correspond un un listes de choix possibles dans d'autre page du formulaire .
    Dans la l'userform ou l'on travaillent actuellement à comme fonction, après avoir sélectionner le nom du tableau et sa colonne, d’afficher dans une listbox l'intégralité des ligne du tableau.

    Il est possible d'utiliser deux fonctions dans cet userform :

    La parti ajouter, qui me permet d'envoyer un nouvelle élément dans la liste (grâce un un textbox, et un bouton)
    et la partie supprimer, qui me premet de supprimer un élément de la listbox (l'élément sélectionné.).

    Cependant dans mon code a la réalisation de la suppressions de la ligne sélectionner le code me renvoi une erreur.

    Erreur d'exécution'-2147467259(80004005)'
    Erreur non répertoriée
    A la ligne :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     Me.ListBoxList.RemoveItem (i)
    Je ne comprend pas pourquoi parce que cela a l'aire de fonctionner chez les différent intervenant (dans d'autre discutions).

    Je reviens donc vers vous pour éclaircir ce mystère. je suis disposé à envisager d'autre méthode.
    Cordialement,
    Passepartout007

  6. #6
    Membre actif
    Homme Profil pro
    Ingénieur
    Inscrit en
    Septembre 2017
    Messages
    132
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val d'Oise (Île de France)

    Informations professionnelles :
    Activité : Ingénieur
    Secteur : Industrie

    Informations forums :
    Inscription : Septembre 2017
    Messages : 132
    Par défaut
    Je dis cela car dans ton dernier message (malgré ta fatigue moindre), il y a une ou plusieurs fautes à chaque ligne quasiment (il y a une dès le titre d'ailleurs) et que cela ne rend pas la lecture de tes messages très agréable mais aussi on a vraiment du mal à te comprendre.

    D'après ce que je comprends (j'ai vraiment du mal en te lisant) : tu as une colonne dans laquelle tu listes tous les choix possibles qui peuvent être faits dans différentes feuilles de ton classeur. Cette liste est mise à jour puisque tu y ajoutes ou supprimes des éléments. J'en déduis donc qu'il s'agit de la synthèse de tous les choix déjà faits dans les différentes feuilles : si tu fais un choix dans la feuille x, il apparaît dans ta listbox mais si tu modifies ce choix dans cette même feuille il disparaît de ta listbox. D'où tes ajouts et suppressions d'éléments. Ai-je bien compris ?

    Si c'est cela, la listbox me paraît superflue. Une simple liste déroulante conviendrait tout aussi bien et serait plus facile à manipuler. D'ailleurs tu peux même faire encore plus simple en écrivant simplement tes valeurs dans des cellules.

    Au passage quand tu utilises l'index i, tu t'assures que l'élément existe ? Si tu l'as déjà supprimé avant, effectivement il va y avoir une erreur. Et d'autres utilisateurs peuvent ne pas avoir cette erreur en lançant le code s'il existe quand le code est exécuté. Tandis qu'en lançant plusieurs fois le code, s'il a été supprimé la première fois l'erreur va se produire...

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

Discussions similaires

  1. [XL-2010] suppression ligne feuille avec listbox
    Par tiesto08 dans le forum Excel
    Réponses: 6
    Dernier message: 07/03/2017, 18h16
  2. Problème erreur 424 suppression d'une ligne via listbox
    Par Chris171717 dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 21/02/2013, 17h04
  3. [XL-2003] pb suppression lignes listbox
    Par bebel9313 dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 05/07/2010, 17h49
  4. [JTable] probleme suppression ligne
    Par lilou77 dans le forum Composants
    Réponses: 1
    Dernier message: 01/11/2005, 10h34

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