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 :

Problème Listbox MultiSelection


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Octobre 2008
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2008
    Messages : 3
    Par défaut Problème Listbox MultiSelection
    Bonjour tout le monde ...
    voici mon souci je voudrais à partir d'une listbox alimenter par une colonne B, que mon action soit effectué sur chaque selection et non pas la dernière cliqué.

    Voici mon code qui ne fonctionne que sur une seule selection et pas l'ensemble :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    Private Sub Valider_Click()
        Dim i As Integer
        With Me.ListBox1
          For i = 0 To ListBox1.ListCount - 1
             If ListBox1.Selected(i) = True Then
               ActiveSheet.Unprotect ("")
               Cells(ListBox1.ListIndex + 3, 1) = "T"
               ActiveSheet.Protect ("")
             End If
           Next i
        End With
    End Sub
    Mais je ne comprends pas ce qui cloche ?

  2. #2
    Inactif  

    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    4 555
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 4 555
    Par défaut
    Bonjour,

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Cells(ListBox1.ListIndex + 3, 1) = "T"
    modifie toujours la même cellule puisque ListIndex ne varie pas ...
    Tu utilises une boucle sur i mais ne te sers pas de i !

    Donne des précisions exxactes (dans le détail) de ce que tu cherches à faire ...

  3. #3
    Futur Membre du Club
    Profil pro
    Inscrit en
    Octobre 2008
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2008
    Messages : 3
    Par défaut
    En fait J'ai une listbox1 qui est alimenté par la colonne B,
    je voudrais lorsque je selectionnes des donneés dans cette listbox avoir un T dans la colonne A en face de mes selections ...

    A B
    Maison
    Tableau
    Bateau


    Listbox1
    Maison
    Tableau
    Bateau

    Si Maison et Tableau selectionné avoir


    A B
    T Maison
    T Tableau
    Bateau

  4. #4
    Membre Expert Avatar de Krovax
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    1 888
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations forums :
    Inscription : Juillet 2008
    Messages : 1 888
    Par défaut
    Bonjour,
    La remarque ducfoutu tient toujours. Tu n'utilises pas ta variable i.

    si le test
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    If ListBox1.Selected(i) = True Then
    est vrai cela signifie que la ligne i de ta liste box est selecionné. Cette ligne i corespond a une ligne dans ton fichier

    A toi de remplacer XX par la bonne valeur. Si la ligne1 de ta box est un ligne 5 de ton fichier tu met 5.

    Maintenant adapte ca a toncode et en cas de souci montre nous ce que cela donne

  5. #5
    Inactif  

    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    4 555
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 4 555
    Par défaut
    devrait donc ressembler à ceci, puisque les articles sont dans le même ordre des 2 côtés :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     ou = 5 ' ici la ligne de début
     For i = 0 To ListBox1.ListCount - 1
       If ListBox1.Selected(i) Then Cells(ou + i, 1) = "T"
     Next

  6. #6
    Futur Membre du Club
    Profil pro
    Inscrit en
    Octobre 2008
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2008
    Messages : 3
    Par défaut
    Résolu MERCI BEAUCOUP c'était tellement évident que je ne voyais pas ....


    Merci encore.

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

Discussions similaires

  1. Listbox multiselect ?
    Par maxmarie dans le forum ASP.NET
    Réponses: 4
    Dernier message: 10/02/2009, 14h02
  2. Problème listbox vba
    Par fabrice2205 dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 11/06/2008, 19h39
  3. Problème ListBox et colonnes
    Par Fishes83 dans le forum IHM
    Réponses: 1
    Dernier message: 08/05/2007, 08h25
  4. [VBA-E]Problème Listbox et path
    Par captaine93 dans le forum Macros et VBA Excel
    Réponses: 10
    Dernier message: 10/11/2006, 11h00
  5. Problème ListBox 'Erreur 2176'
    Par emeraudes dans le forum IHM
    Réponses: 5
    Dernier message: 19/05/2006, 17h04

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