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 :

ListBox à multisélection


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Février 2011
    Messages
    26
    Détails du profil
    Informations forums :
    Inscription : Février 2011
    Messages : 26
    Par défaut ListBox à multisélection
    Bonjour,

    sur un userform, j'ai une listbox alimentée par un combobox

    Dans cette listbox des noms apparaissent en fonction du choix du combobox

    Le clic sur un nom alimente des textbox modifiables

    Je voudrais sélectionner plusieurs noms et leur affecter un caractère X par exemple qui ira se mettre sur une colonne de la base au regard des noms

    Est-ce possible ou y a t-il une autre méthode ?
    Merci de vos réponses éclairées
    Cordialement

  2. #2
    Inactif  

    Homme Profil pro
    cuisiniste
    Inscrit en
    Avril 2009
    Messages
    15 374
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : cuisiniste
    Secteur : Bâtiment

    Informations forums :
    Inscription : Avril 2009
    Messages : 15 374
    Billets dans le blog
    8
    Par défaut heu...
    bonsoir

    "au regard des nom " je suppose que c'est une conditions

    un peu plus de precisions sur cette condition


    au plaisir
    mes fichiers dans les contributions:
    mail avec CDO en vba et mail avec CDO en vbs dans un HTA
    survol des bouton dans userform
    prendre un cliché d'un range

    si ton problème est résolu n'oublie pas de pointer : : ça peut servir aux autres
    et n'oublie pas de voter

  3. #3
    Membre averti
    Inscrit en
    Février 2011
    Messages
    26
    Détails du profil
    Informations forums :
    Inscription : Février 2011
    Messages : 26
    Par défaut ListBox à multisélection
    bonjour,
    Je joins un fichier texte pour être plus clair, mon fichier est trop volumineux

    Merci de la réponse
    Cordialement
    Fichiers attachés Fichiers attachés

  4. #4
    Inactif  

    Homme Profil pro
    cuisiniste
    Inscrit en
    Avril 2009
    Messages
    15 374
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : cuisiniste
    Secteur : Bâtiment

    Informations forums :
    Inscription : Avril 2009
    Messages : 15 374
    Billets dans le blog
    8
    Par défaut re
    bonjour

    le cliché de ton application ne me parle pas beaucoup

    cependand je comprend pas tres bien le besoins que tu a de selectionner plusieur item de ta liste sachant que sur la gauche il n'y a qu'un seul textbox pour chaque fonction (civilité,adresse,nom ,prenom)ect...

    maintenant si tu veux alimenter une autre listbox avec seulement les item choisi de la premiere sachant que tu veux garder en memoire l'index de chaque item pour les faire corespondre a un eventuelle recherche sur un sheet
    voici un exemple:
    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
     
    Private Sub UserForm_Initialize()
    ListBox2.ColumnCount = 3
    ListBox2.Clear
    For i = 1 To Sheets(1).Range("a65536").End(xlUp).Row
    ListBox1.AddItem Sheets(1).Range("a" & i)
    Next
    End Sub
     
    Private Sub ListBox1_MouseDown(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single)
     
    If Button = 2 Then
     
     ListBox2.Clear
     
        For i = 0 To ListBox1.ListCount - 1
            If ListBox1.Selected(i) = True Then
                ListBox2.AddItem ListBox1.List(i)
     
            ListBox2.List(e, 1) = i + 1 'on met l'index de la ligne dans la colonne 2
            e = e + 1
            End If
        Next i
    End If
    End Sub
    au plaisir
    mes fichiers dans les contributions:
    mail avec CDO en vba et mail avec CDO en vbs dans un HTA
    survol des bouton dans userform
    prendre un cliché d'un range

    si ton problème est résolu n'oublie pas de pointer : : ça peut servir aux autres
    et n'oublie pas de voter

  5. #5
    Membre averti
    Inscrit en
    Février 2011
    Messages
    26
    Détails du profil
    Informations forums :
    Inscription : Février 2011
    Messages : 26
    Par défaut Listbox à multisélection
    Merci de la réponse et surtout du code que je vais adapter, c'est à peu près ce que je souhaitais.
    cordialement

  6. #6
    Inactif  

    Homme Profil pro
    cuisiniste
    Inscrit en
    Avril 2009
    Messages
    15 374
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : cuisiniste
    Secteur : Bâtiment

    Informations forums :
    Inscription : Avril 2009
    Messages : 15 374
    Billets dans le blog
    8
    Par défaut re
    bonjour

    oui j'ai cru comprendre que l'important pour toi c'etait de memoriser l'index de la ligne pour pouvoir rechercher les données sur la feuille

    donc au clic de la souris sur la listbox tu peut mettre

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    dim ligne as long
    ligne =listbox1.list(listebox1.listindex,1)'on tombe donc sur le numero de la ligne sur la quelle la donnée de la 1 ere colonne a été prise 
     
    'ensuite on peut par exemple:
     msgbox sheets(1).range("a"&ligne) & sheets(1).range("b"&ligne)
     
    'si par exemple le nom est en colonne "a" et le prenom est en colonne "b"
    ton msgbox affichera le nom et le prenom
    j'espere que ca te servira en tout cas n'hesite pas si tu a des question


    et pour finir

    il y a une solution bien plus simple pour faire ca si ca t'interresse
    la methode "FIND"
    exemple a supposer que tu remplisse ta liste box avec la colonne "a" qui contient les nom

    ensuite au click de la souris sur la liste box

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    dim mot as string
    mot = listbox1
    With Worksheets(nom de la feuille ou se trouvent les données).Range("a1:a500")
        Set c = .Find(mot, lookin:=xlValues)
        If Not c Is Nothing Then
           msgbox  "le nom est" & c & "le prenom est " c.offset(0,1)
     
    end if
    allez je te laisse mijoter

    au plaisir
    mes fichiers dans les contributions:
    mail avec CDO en vba et mail avec CDO en vbs dans un HTA
    survol des bouton dans userform
    prendre un cliché d'un range

    si ton problème est résolu n'oublie pas de pointer : : ça peut servir aux autres
    et n'oublie pas de voter

Discussions similaires

  1. ListBox indexé multisélection
    Par Mairequimby dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 01/04/2012, 23h47
  2. Comment lire une multisélection de listBox ?
    Par Ehjoe dans le forum VB.NET
    Réponses: 10
    Dernier message: 12/08/2011, 12h22
  3. [XL-2010] Listbox multisélection Aide
    Par RicardoBxl dans le forum Macros et VBA Excel
    Réponses: 0
    Dernier message: 14/12/2010, 14h12
  4. Problème de résultat ds listbox multisélection
    Par lio59 dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 18/08/2009, 15h00
  5. Listbox multisélection
    Par Zaza_du_second dans le forum Access
    Réponses: 15
    Dernier message: 05/09/2005, 12h35

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