COMBOBOX 2 colonnes

bobinut60

XLDnaute Nouveau
Bonjour
J'ai une combobox dans une feuil1 de calcul. (activex) directement sur la feuille
j'ai deux colonnes de données dans une autre feuille(2).
je souhaite alimenter la combobox avec les données des deux colonnes (feuille2) et afficher les deux données dans la feuil1
pourrais avoir de l'aide svp
merci
 

Pierrot93

XLDnaute Barbatruc
Re : COMBOBOX 2 colonnes

Bonjour,

regarde peut être ceci, à placer dans le module "thisworkbook", non testé dans ton contexte, mais comme pas beaucoup de détails..... tu devras sans doute adapter...
Code:
Option Explicit
Private Sub Workbook_Open()
Dim t() As Variant, i As Long
With Feuil2
    ReDim t(1 To .Range("A65536").End(xlUp).Row)
    t = Application.Transpose(.Range("A1", .Range("A65536").End(xlUp)))
    ReDim Preserve t(1 To .Range("A65536").End(xlUp).Row + .Range("B65536").End(xlUp).Row)
    For i = 1 To .Range("B65536").End(xlUp).Row
        t(i + .Range("A65536").End(xlUp).Row) = .Cells(i, 2)
    Next i
End With
Feuil1.ComboBox1.List = t
End Sub

bon après midi
@+
 

bobinut60

XLDnaute Nouveau
Re : COMBOBOX 2 colonnes

Bonjour Pierrot et merci de ton aide
j'ai recopié le code dans mon prg et il semblerait qu'il n'apprecie guére le "with feuil2" que j'ai remplacé par "with spec" spec etant le nom de l'onglet de la feuille qui contient les données....
j'ai une erreur du type variable non definie...
peut etre pourrais tu m'aider à nouveau (vu mon faible niveau).
merci d'avance
 
G

Guest

Guest
Re : COMBOBOX 2 colonnes

Bonjour,

HelloPierrot:)

J'ai peut-être pas tout compris (ce qui ne serait pas étonnant!) mais ceci fonctionne:

Alimenter la Combobox:
Code:
ComboBox1.ColumnCount = 2
ComboBox1.List = Range("A2:B27").Value
Alimenter la feuille avec les valeurs de la combo:
Code:
Range("M2:N2").Resize(ComboBox1.ListCount).Value = ComboBox1.List

A+
 

bobinut60

XLDnaute Nouveau
Re : COMBOBOX 2 colonnes

Ok j'ai corrigé merci mais maintenant j'ai une "erreur1004 erreur definie ou par l'objet" à la ligne 3 redim....
a savoir que j'ai mes données dans une feuille qui commence en 014 et p14.
desolé...



Dim t() As Variant, i As Long
With Feuil9
ReDim t(1 To .Range("065536").End(xlUp).Row)
t = Application.Transpose(.Range("o14", .Range("o65536").End(xlUp)))
ReDim Preserve t(1 To .Range("o65536").End(xlUp).Row + .Range("p65536").End(xlUp).Row)
For i = 1 To .Range("p65536").End(xlUp).Row
t(i + .Range("o65536").End(xlUp).Row) = .Cells(i, 2)
Next i
End With
Feuil2.ComboBoxessai.List = t
End Sub
 

Pierrot93

XLDnaute Barbatruc
Re : COMBOBOX 2 colonnes

Re,

sinon... peut être....
Code:
Option Explicit
Private Sub Workbook_Open()
Dim t() As Variant, i As Long
MsgBox ActiveCell.Column
With Feuil2
    ReDim t(1 To .Range("O65536").End(xlUp).Row - 14)
    t = Application.Transpose(.Range("O14", .Range("O65536").End(xlUp)))
    ReDim Preserve t(1 To (.Range("O65536").End(xlUp).Row - 13) + (.Range("P65536").End(xlUp).Row - 13))
    For i = 14 To .Range("P65536").End(xlUp).Row
        t(i - 2) = .Cells(i, 16)
    Next i
End With
With Feuil1.ComboBox1
    .Clear
    .List = t
End With
End Sub
 
G

Guest

Guest
Re : COMBOBOX 2 colonnes

Re,

Oui regardes également du côté de la propriété BoundColumn, qui permet de déterminer quelle colonne renverra la valeur de la combobox ou la listebox.

A+

[Edit] Grand coucou à Pierrot:)
 

Discussions similaires

Réponses
7
Affichages
465
Réponses
4
Affichages
197

Membres actuellement en ligne

Aucun membre en ligne actuellement.

Statistiques des forums

Discussions
312 472
Messages
2 088 709
Membres
103 928
dernier inscrit
MIKETUAU