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 :

Faire une multiselection à partir d'une comboBox?


Sujet :

Macros et VBA Excel

Mode arborescent

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Octobre 2013
    Messages
    21
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2013
    Messages : 21
    Par défaut Faire une multiselection à partir d'une comboBox?
    Bonjour,
    Je suis nouvelle sur la programmation VBA et j'aurai besoin de votre aide svp.
    J'ai fait un programme où je fais appel à des comboBox et textBox, uniquement sur une feuille excel (pas de userform)
    Je renseigne mon département dans une comboBox, et j'associe le code correspondant grace à un textbox. Tout fonctionne.
    Je souhaite maintenant selectionner plusieurs départements dans ma comboBox, tout en gardant quasimment le même affichage.
    C'est à dire, en cliquant sur mon bouton departement, ma liste s'affiche, mes départements sont sélectionnés et mes valeurs alimentent par la suite ma comboBox. Par exemple: Hauts-de-Seine/Paris/Val-de-Marne en fonction de ce qui est sélectionné...
    Je dois associer tout cela probablement à une LISTEBOX, mais je ne sais pas à quelle étape l'intégrer? Devrais je me séparer de mes comboBox???
    Je m'embrouille entre les différents codes trouvés sur les forums. Surtout que ces codes sont faits pour des userforms :/
    Voici un bout de code fait pour mes combobox (qui marche mais sans la multiselection):

    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
    33
    34
    35
    36
    37
    38
    39
    40
    Sub ComboBox1_Initialize()
    ComboBox1.Clear    'departement
    TextBox1.Value = ""    'code
     
    'pour remplir ma combobox, je stocke mes donnees filtrées et triées.
    '(Je peux renseigner la combobox en enlevant les doublons:
    'If ComboBox1.ListIndex = -1 Then ComboBox1.AddItem Sheets("Feuil2").Range("A" & j)) , c'est plus simple mais lent à l'exécution.)
    Sheets("Feuil1").Range("b1:b65356").AdvancedFilter Action:=xlFilterCopy, CopyToRange:=Sheets("Feuil2").Range( _
    "b1"), Unique:=True
    ActiveWorkbook.Worksheets("Feuil2").Sort.SortFields.Clear
    ActiveWorkbook.Worksheets("Feuil2").Sort.SortFields.Add Key:=Range("b1"), _
        SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:= _
        xlSortTextAsNumbers
    With ActiveWorkbook.Worksheets("Feuil2").Sort
        .SetRange Range("b2:b65536")
        .Header = xlNo
        .MatchCase = False
        .Orientation = xlTopToBottom
        .SortMethod = xlPinYin
        .Apply
    End With
    Dim departement As String
    Dim lastdepartement As Integer
    lastdepartement = Sheets("Feuil2").Range("b65536").End(xlUp).Row
    For i = 2 To lastdepartement
    departement = Sheets("Feuil2").Cells(i, 2).Value
    ComboBox1.AddItem departement
    Next i
    End Sub
     
    'le code associé
    Sub ComboBox1_change()
        If ComboBox1.Value = "" Then
            TextBox1.Value = ""
        End If
        If ComboBox1.Value <> "" Then
            TextBox1.Value = WorksheetFunction.VLookup(ComboBox1.Value, Sheets("Feuil2").Range("AA1:AB65536"), 2, False)
        End If
    End Sub
    'fin code
    est ceque je dois refaire mon code en enlevant mes comboBox ou je peux insérer ma listBox quelque part?
    Ci joint un exemple court du pgm et son affichage.

    Je vous remercie par avance pour votre aide et votre patience.
    Fichiers attachés Fichiers attachés

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

Discussions similaires

  1. Réponses: 2
    Dernier message: 08/03/2010, 15h43
  2. [Batch] Créer une chaine à partir d'une variable et d'une autre chaine
    Par mlle lain dans le forum Scripts/Batch
    Réponses: 1
    Dernier message: 10/11/2009, 16h26
  3. Saisir une image à partir d'une photo ou d'une vidéo
    Par lohengrin56 dans le forum Flash/Flex
    Réponses: 0
    Dernier message: 07/07/2009, 16h17
  4. Réponses: 2
    Dernier message: 05/01/2009, 12h45
  5. Réponses: 5
    Dernier message: 22/05/2008, 14h42

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