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 :

vba exel modifier et/ou supprimer item liste déroulanter


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
    retraité telecom
    Inscrit en
    Mai 2016
    Messages
    64
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 77
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : retraité telecom
    Secteur : Associations - ONG

    Informations forums :
    Inscription : Mai 2016
    Messages : 64
    Par défaut vba exel modifier et/ou supprimer item liste déroulanter
    bonjour

    je travaille sur excel 2997

    j'ai une combobox (combobox3) initialisée par additem

    il y a 2 champs :
    code ("A")
    Libellé ("B")

    je veux modifier le libellé et je n'y arrive pas car sur la recherche du code via list, j'ai toujours -1

    le problème est identique sur une suppression d'item (sur la recherche du code via list) j'ai toujours -1

    i l y a aussi des créations ne posant aucun problème

    je souhaiterais connaitre la marche à suivre

    merci par avance

  2. #2
    Expert confirmé
    Avatar de kiki29
    Homme Profil pro
    ex Observeur CGG / Analyste prog.
    Inscrit en
    Juin 2006
    Messages
    6 132
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : ex Observeur CGG / Analyste prog.

    Informations forums :
    Inscription : Juin 2006
    Messages : 6 132
    Par défaut
    Salut, si dans contexte VBA voir : Utiliser les contrôles dans un UserForm, en VBA Excel

  3. #3
    Membre confirmé
    Homme Profil pro
    retraité telecom
    Inscrit en
    Mai 2016
    Messages
    64
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 77
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : retraité telecom
    Secteur : Associations - ONG

    Informations forums :
    Inscription : Mai 2016
    Messages : 64
    Par défaut
    bonjour

    j'avais vu le tuto

    mon cas er décrit mais je ne vois pas la solution

    voici mon cas
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    If listBox1.listIndex = -1 Then Exit Sub
    MsgBox ListBox1.List(ListBox1.ListIndex)
    Je reçois toujours - 1

    ======> je ne connais pas l'index pour faire le bon remove item

    je ne vois pas de méthode pour modifier un libellé

    j'avais prévu

    = récupération index
    = remove item
    = et additem
    Dans les 2 solutions tout est la conséquence du -1

    bug chez moi
    ou
    autre méthode


    bien cordialement





    i

  4. #4
    Membre Expert
    Inscrit en
    Octobre 2010
    Messages
    1 401
    Détails du profil
    Informations forums :
    Inscription : Octobre 2010
    Messages : 1 401
    Par défaut
    Bonjour.

    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()
     
    If ComboBox1.ListIndex = -1 Then Exit Sub
     
    MsgBox ComboBox1.ListIndex
     
    MsgBox ComboBox1.List(ComboBox1.ListIndex)
     
    ComboBox1.RemoveItem ComboBox1.ListIndex
     
    End Sub

  5. #5
    Membre confirmé
    Homme Profil pro
    retraité telecom
    Inscrit en
    Mai 2016
    Messages
    64
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 77
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : retraité telecom
    Secteur : Associations - ONG

    Informations forums :
    Inscription : Mai 2016
    Messages : 64
    Par défaut
    merci pour le coup de main (dur dur)

    j'ai adapté le code à mon cas (essayer de)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    Private Sub CommandButton12_Click()
    Dim j As Integer
    Dim code_comp As Script
     If ComboBox3.ListIndex = -1 Then Exit Sub
    ' For j = 1 To Me.ComboBox3.ListCount
     MsgBox ComboBox3.ListIndex
    MsgBox ComboBox3.List(ComboBox3.ListIndex)
    ' ComboBox3 = Range("A" & j)
    '    If combobox3.Range("A" & j) = code_comp Then
        ComboBox3.RemoveItem ComboBox3.ListIndex
      
    '  End If
    ' Next j
    End Sub

    mes ajouts sont en commentaire

    j'ai récupéré via input box le code à supprimer
    et je balaie la liste déroulante (pour trouver la ligne à supprimer (comparaison proposition opérateur et liste en service)
    ensuite remove item


    En ignorant les ajouts je peine à comprendre les enchainements

    'ai fait un input box pour récupérer le code (code_cmp) crée une procédure appelée depuis mes procédures

    mais je reste bloqué après l'exit sub (sur -1) et je n'y arrive pas

    mes excuses pour vous "resolliciter"

    michel
    je pensais aller vers une adresse (via goto) pour renvoyer

    MsgBox ComboBox3.ListIndex

    est ce bon ?
    et surtout comment l'adapter à ma boucle et à m récuoer du champ "A"

  6. #6
    Membre confirmé
    Homme Profil pro
    retraité telecom
    Inscrit en
    Mai 2016
    Messages
    64
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 77
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : retraité telecom
    Secteur : Associations - ONG

    Informations forums :
    Inscription : Mai 2016
    Messages : 64
    Par défaut Précision
    j'ai fait 1 essai qui va en erreur 381 quand je demande d'exécuter (je suis en pas à pas

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    MsgBox ComboBox3.List(ComboBox3.ListIndex)
    cela provient de la réponse (-1)

    sur

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    MsgBox ComboBox3.ListIndex
    cordialement

    michel

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

Discussions similaires

  1. Réponses: 4
    Dernier message: 20/12/2007, 10h40
  2. modifier le sql d'une liste déroulante
    Par popofpopof dans le forum Access
    Réponses: 1
    Dernier message: 03/08/2007, 16h23
  3. Modifier la couleur d'une liste déroulante.
    Par -Neo- dans le forum Mise en page CSS
    Réponses: 1
    Dernier message: 05/06/2007, 09h27
  4. [VBA-E] Selectionner un graphique via une liste déroulante
    Par lapa-jh dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 21/05/2007, 21h26
  5. Réponses: 10
    Dernier message: 20/04/2007, 23h16

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