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 :

remplir 3 combobox


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Inscrit en
    Juillet 2007
    Messages
    502
    Détails du profil
    Informations forums :
    Inscription : Juillet 2007
    Messages : 502
    Par défaut remplir 3 combobox
    bonjour le forum
    voila actuellement je remplis mes combobox3 à 5 comme cela
    je pense qu'il y a mieux
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
     
    UserForm3.ComboBox3.AddItem ">"
    UserForm3.ComboBox3.AddItem "<"
    UserForm3.ComboBox3.AddItem "="
    UserForm3.ComboBox3.AddItem ">="
    UserForm3.ComboBox3.AddItem "<="
    UserForm3.ComboBox3.ListIndex = 0

  2. #2
    Membre expérimenté
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    226
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Avril 2008
    Messages : 226
    Par défaut
    Hello,

    Voilà deux façons de faire...

    Les symboles dans la feuille1 en A1:A5 !
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    Private Sub UserForm_Initialize()
     
        With Sheets("Feuil1")
            For i = 2 To .Range("A65000").End(xlUp).Row
                If .Cells(i, 1) <> .Cells(i - 1, 1) Then
                    ComboBox3.AddItem .Cells(i, 1).Value
                End If
            Next
        End With
     
    End Sub
    Ou encore plus court mais là, il faut que l'UserForm soit appelé depuis la même feuille
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    Private Sub UserForm_Initialize()
     
        For i = 2 To [A65536].End(xlUp).Row
            If Cells(i, 1) <> Cells(i - 1, 1) Then
                ComboBox3.AddItem Cells(i, 1).Value
            End If
        Next
     
    End Sub
    Cdt, Anton.

  3. #3
    Membre expérimenté
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    226
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Avril 2008
    Messages : 226
    Par défaut
    Re,

    Tu même encore y raccourcir un peu, mais pas d'intérêt...

    Comme ceci.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    Private Sub UserForm_Initialize()
     
        With Sheets("Feuil1")
            For i = 2 To .Range("A65000").End(xlUp).Row
                If .Cells(i, 1) <> .Cells(i - 1, 1) Then ComboBox3.AddItem .Cells(i, 1).Value
            Next
        End With
     
    End Sub
    et depuis la même feuille.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Private Sub UserForm_Initialize()
     
        For i = 2 To [A65536].End(xlUp).Row
            If Cells(i, 1) <> Cells(i - 1, 1) Then ComboBox3.AddItem Cells(i, 1).Value
        Next
     
    End Sub
    Cdt, Anton.

  4. #4
    Expert confirmé
    Avatar de Qwazerty
    Homme Profil pro
    La très haute tension :D
    Inscrit en
    Avril 2002
    Messages
    4 116
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France

    Informations professionnelles :
    Activité : La très haute tension :D
    Secteur : Service public

    Informations forums :
    Inscription : Avril 2002
    Messages : 4 116
    Par défaut
    Salut
    Aller je dis en 4 lignes qui dis mieux ^^

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Dim InTmp As Integer
    For InTmp = 3 To 5
        UserForm1.Controls("ComboBox" & InTmp).List = Array(">", "<", "=")
    Next
    Pour les petits malins qui me diraient en 1 ligne et qui virent la déclaration Dim de InTmp et mettent les instruction a la queue leuleu avec des :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    For InTmp = 3 To 5: UserForm1.Controls("ComboBox" & InTmp).List = Array(">", "<", "="): Next
    mais c'est vilain et moins lisible, mais bon j'aime pas perdre ^^

    A++
    Qwaz

    MagicQwaz := Harry Potter la baguette en moins
    Le monde dans lequel on vit
    Ma page perso DVP
    Dernier et Seul Tutoriel : VBA & Internet Explorer
    Dernière contribution : Lien Tableau Structuré et UserForm
    L'utilisation de l’éditeur de message

  5. #5
    Membre éclairé
    Inscrit en
    Juillet 2007
    Messages
    502
    Détails du profil
    Informations forums :
    Inscription : Juillet 2007
    Messages : 502
    Par défaut
    bonsoir

    merci à tous
    j'opte pour la version de QWazerty en 3 lignes


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
     
    '--------------------------init combobox 3à 5 pour le filtre12--------------------------
    Dim ncbx As Integer
        For ncbx = 3 To 5
           UserForm3.Controls("ComboBox" & ncbx).List = Array(">", "<", "=", ">=", "<=")
        Next
    '---------------------fin filtre12-----------------------------------------------------
     
     
    merci à tous   et chapeau:ccool::ccool::ccool:

  6. #6
    Membre expérimenté
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    226
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Avril 2008
    Messages : 226
    Par défaut
    Hello, Qwazerty, oscar.cesar,

    Je ne connaissais pas cette méthode Qwazerty... sympa... t'as gagné

    En revanche, si tu as par exemple 300 ou plus de noms ou symboles ou autres, c'est mieux l'autre soluce je pense.

    Du moins pour ce qui est de la longueur du code, car, dans les deux cas, il faudra bien rentrer la liste quelque part, que ce soit dans la Array ou sur la feuille.

    Bonne soirée à vous tous !

    Anton.

  7. #7
    Expert confirmé
    Avatar de Qwazerty
    Homme Profil pro
    La très haute tension :D
    Inscrit en
    Avril 2002
    Messages
    4 116
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France

    Informations professionnelles :
    Activité : La très haute tension :D
    Secteur : Service public

    Informations forums :
    Inscription : Avril 2002
    Messages : 4 116
    Par défaut
    Salut
    De rien
    Dans un tel cas il est peut être aussi judicieux de rentré "en dure" (dans l'explorateur des propriétés du contrôle ComboBox) les symboles dans le 3eme combobox (car comme tu le dis il faudra bien les rentrer une fois), puis de faire la boucle de 4 à 5 avec dedans
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    controls("combobox" & Intmp).list = combobox3.list

    comme ça pas de trace nul part :p
    A++
    Qwaz

    MagicQwaz := Harry Potter la baguette en moins
    Le monde dans lequel on vit
    Ma page perso DVP
    Dernier et Seul Tutoriel : VBA & Internet Explorer
    Dernière contribution : Lien Tableau Structuré et UserForm
    L'utilisation de l’éditeur de message

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

Discussions similaires

  1. [C#] Remplire un comboBox avec un fichier XML
    Par Roach dans le forum Windows Forms
    Réponses: 3
    Dernier message: 03/09/2005, 20h45
  2. Comment remplir un ComboBox avec le nom des feuilles Excel ?
    Par libracom dans le forum API, COM et SDKs
    Réponses: 2
    Dernier message: 27/06/2005, 15h14
  3. [C#] Remplir une combobox avec le champs d'une table Access
    Par Damsou dans le forum Windows Forms
    Réponses: 4
    Dernier message: 23/06/2005, 15h31
  4. [VB.NET] Remplir une ComboBox avec une requete sql
    Par graphicsxp dans le forum Windows Forms
    Réponses: 6
    Dernier message: 22/03/2005, 15h29
  5. Réponses: 2
    Dernier message: 26/07/2004, 13h34

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