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 :

PB remplir une ComboBox avec les valeurs de plusieurs cellules sur la même lignes [XL-2010]


Sujet :

Macros et VBA Excel

  1. #1
    Futur Membre du Club
    Homme Profil pro
    Inscrit en
    Novembre 2013
    Messages
    14
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Novembre 2013
    Messages : 14
    Points : 9
    Points
    9
    Par défaut PB remplir une ComboBox avec les valeurs de plusieurs cellules sur la même lignes
    Bonjour,

    Je desire inserer les valeurs d'une ligne (ex: B1:C1: D1...etc) dans ma comboBox
    j'ai fouiner partout et essayer pas mal de choses mais sans succès
    Fichier Test : TestDC.zip

    je suis novice en VBA Word et très nul en VBA Excel...
    j'ai suivi pas mal de petit Tuto, mais...je comprend pas
    j'ai laisser une partie des commandes que j'ai essayé mais bon....

    Vous pouvez m'aider Svp
    Merci d'avance

  2. #2
    Membre émérite
    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    Novembre 2011
    Messages
    1 503
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Irlande

    Informations professionnelles :
    Activité : Chef de projet en SSII

    Informations forums :
    Inscription : Novembre 2011
    Messages : 1 503
    Points : 2 657
    Points
    2 657
    Par défaut
    Bonjour eviuss,

    Alors, voici ce que tu dois mettre dans ton UserForm_Initialize (et non pas UserForm1_Initialize puisque chaque UserForm possède sa propre méthode).

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    Private Sub UserForm_Initialize()
    Dim i As Integer
     
    With Worksheets("Entree")
        Me.ComboBox1.Clear
     
        For i = 1 To .Rows(1).Find("*", , , , , xlPrevious).Column
            Me.ComboBox1.AddItem .Cells(1, i)
        Next i
    End With
     
    End Sub
    Ca t'insère toutes les cellules de ta ligne 1 non vide.

    Cela te convient-il ?

    CONSEIL : ne met JAMAIS d'espace avant ou après le nom de tes onglets... J'ai mis 10 minutes à trouver l'erreur.

    Cordialement,
    Kimy

    Aux plus experts : N'y a t-il pas un moyen d'insérer les items grâce à une range ? Il me semblait que c'était possible mais je n'ai ni trouvé ni réussi à les insérer du type ComboBox1.AddItem .Range("B1:M1") ?
    RowSource ?
    Autre ?
    La logique :
    • Plus ya de gruyère, moins ya de gruyère.
    • Plus tu pédales moins vite, moins tu avances plus vite.
    Plusoyer les réponses pertinentes et n'oublier pas de résolver en fin de post !

  3. #3
    Membre chevronné Avatar de rvtoulon
    Homme Profil pro
    Agent Technique
    Inscrit en
    Mars 2009
    Messages
    1 042
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Agent Technique
    Secteur : Santé

    Informations forums :
    Inscription : Mars 2009
    Messages : 1 042
    Points : 2 003
    Points
    2 003
    Par défaut
    Effectivement sans boucle avec la propriété list():
    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
    Private Sub UserForm_Initialize()
    With Sheets("Entree")
     
         'met dans une variable le numéro de la dernière colonne utilisée de la ligne1
         dercol = .Rows(1).Find("*", , , , , xlPrevious).Column
     
         'transpose la ligne B1:?1 en colonne dans ma liste
         maliste = WorksheetFunction.Transpose(.Range(.Cells(1, 2), .Cells(1, dercol)))
    End With
     
     
    'insère ma liste dans la combo 
    Me.ComboBox1.List() = maliste
     
     
    End Sub
    @+

    Si vous avez trouvé la solution à votre problème n'oubliez pas d'appuyer sur
    Et n'oubliez pas de voter en appuyant sur si ce message a repondu à vos attentes.
    Ou sur si ce n'est pas le cas

  4. #4
    Futur Membre du Club
    Homme Profil pro
    Inscrit en
    Novembre 2013
    Messages
    14
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Novembre 2013
    Messages : 14
    Points : 9
    Points
    9
    Par défaut
    Genial !!!

    Merci infiniment, ca marche très bien
    merci du conseil concernant l'espace, je n'ai pas fais attention lorsque j'ai renommé l'onglet....
    je pense que tout mes essais ne marcher pas a cause de ça....
    j'ai perdu pas mal de cheveux :p

    Merci encore

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

Discussions similaires

  1. Remplir une comboBox avec les polices système
    Par rillette87 dans le forum Flex
    Réponses: 2
    Dernier message: 15/04/2011, 16h02
  2. remplir un model avec les valeurs d'une JList
    Par soujava dans le forum Débuter avec Java
    Réponses: 1
    Dernier message: 15/05/2008, 21h11
  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