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 :

remplissage combobox avec deux cellule non juxtaposées


Sujet :

Macros et VBA Excel

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Août 2009
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2009
    Messages : 4
    Par défaut remplissage combobox avec deux cellule non juxtaposées
    Bonjour, j'aimerais pouvoir remplir une combobox à deux colonne avec une source de donnée excel mais avec duex colonnes différente. En fait j'aimerais que ma premiere colonne de la combobox se remplisse avec la colonne A de ma feuille excel et que ma seconde colonne se remplisse avec la colonne R de la meme feuille excel.

    Pour l'instant, je n'arrive qu'a remplir avec A et B si je met deux colonne, A B C si je met 3....

    Merci de me donner vos solutions.

  2. #2
    Membre éclairé
    Inscrit en
    Novembre 2007
    Messages
    61
    Détails du profil
    Informations forums :
    Inscription : Novembre 2007
    Messages : 61
    Par défaut
    Bonjour,

    essaye peut être le code ci-dessous, à utiliser dans le module de ton USF, s'applique aux valeurs de la feuille active :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    Private Sub UserForm_Initialize()
    Dim i As Integer
    With ComboBox1
        .ColumnCount = 2
        For i = 1 To Range("A65536").End(xlUp).Row
            .AddItem Cells(i, 1)
            .List(i - 1, 1) = Cells(i, 18)
        Next i
    End With
    End Sub
    bonne journée
    @+

  3. #3
    Expert confirmé
    Avatar de Didier Gonard
    Homme Profil pro
    Formateur Office et développeur VBA en freelance
    Inscrit en
    Février 2008
    Messages
    2 805
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Formateur Office et développeur VBA en freelance

    Informations forums :
    Inscription : Février 2008
    Messages : 2 805
    Par défaut
    Bonjour,

    une autre piste :

    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
    Option Explicit
    Option Base 1 'voir aide vba si besoin
     
    Private Sub UserForm_Initialize()
    Dim cell As Range
    Dim I As Integer
    Dim J As Integer
    Dim intNumcol1 As Integer
    Dim intNumcol2 As Integer
    Dim objZoneCible1 As Object
    Dim objZoneCible2 As Object
    Dim tabvarForCbo() As Variant
    Dim lngDimTabMax As Long
     
    intNumcol1 = 1 'on prend ici les colonnes A et D
    intNumcol2 = 4
    'il est aisé d'ajouter d'autres col si besoin..
    Set objZoneCible1 = Range(Cells(2, intNumcol1), Cells(Rows.Count, intNumcol1).End(xlUp)) 'on met les plages voulues en variable
    Set objZoneCible2 = Range(Cells(2, intNumcol2), Cells(Rows.Count, intNumcol2).End(xlUp)) 'on a ici une ligne de titre...
     
    lngDimTabMax = Application.WorksheetFunction.Max(objZoneCible1.Count, objZoneCible2.Count) 'on calcule la valeur de la colonne la + grande.
    ReDim tabvarForCbo(lngDimTabMax, lngDimTabMax) ' on dimentionne notre array en conséquence
     
    For Each cell In objZoneCible1 'on alimente notre  array
        I = I + 1
        tabvarForCbo(1, I) = cell.Value
    Next cell
    For Each cell In objZoneCible2
        J = J + 1
        tabvarForCbo(2, J) = cell.Value
    Next cell
    cboExemple.Column = tabvarForCbo ' on charge notre combobox
     
    Set objZoneCible1 = Nothing
    Set objZoneCible2 = Nothing
    Set cell = Nothing
    End Sub
    nb : tuntulin, penses à indiquer ta version d'excel, entre 2003 et 2007, les nombres de colonnes et de lignes ont changés

    cordialement,

    Didier

  4. #4
    Membre à l'essai
    Profil pro
    Inscrit en
    Août 2009
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2009
    Messages : 4
    Par défaut Merci beaucoup
    Ca marche merci....

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

Discussions similaires

  1. Probleme Remplissage ComboBOX avec DATE du mois suivant
    Par RootsInternationnal dans le forum C#
    Réponses: 9
    Dernier message: 16/07/2009, 08h18
  2. Remplir une ComboBox avec DEUX colonnes (ou plus ^_^)
    Par DashRendar dans le forum VB.NET
    Réponses: 3
    Dernier message: 07/02/2008, 08h54
  3. Combobox avec deux champs
    Par hajarussa dans le forum VB.NET
    Réponses: 6
    Dernier message: 02/10/2007, 10h11
  4. Datagrid et combobox avec deux datasource différents
    Par RaelRiaK dans le forum VB.NET
    Réponses: 9
    Dernier message: 07/02/2007, 09h20
  5. [MFC] probleme remplissage comboBox avec ADOLib
    Par moulefrite dans le forum MFC
    Réponses: 3
    Dernier message: 05/04/2006, 14h08

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