Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

remplir en vba combo 2 colonnes

6 réponses
Avatar
gérard
Bonjour
je voudrais remplir mon combo avec 2colonnes en vba



'rempli le combo mission
Sheets("EmploiSemaine").Select
CboMissions.Clear
I = 0
For I = 2 To Sheets("TypesMission").Range("A65536").End(xlUp).Row - 1
'rempli la 1er colonne
CboMissions.AddItem Sheets("TypesMission").Range("A" & I).Value
'rempli la deuxiemme colonne
CboMissions.AddItem Sheets("TypesMission").Range("B" & I).Value
Next I
CboMissions.Visible = True
CboMissions.ListIndex = 0
Sheets("EmploiSemaine").Select


Merci d'avance pour votre aide
gege

6 réponses

Avatar
JB
Bonjour,

http://cjoint.com/?inpeInZtYn

Définir le champ dans Rowsource (champ dynamique si liste variable)
Spécifier 2 colonnes et la largeur des colonnes dans les propriétés
du combo.

ou

Créer un tableau puis Me.Combobox1.List=Tbl

Cordialement JB


Bonjour
je voudrais remplir mon combo avec 2colonnes en vba



'rempli le combo mission
Sheets("EmploiSemaine").Select
CboMissions.Clear
I = 0
For I = 2 To Sheets("TypesMission").Range("A65536").End(xlUp).Row - 1
'rempli la 1er colonne
CboMissions.AddItem Sheets("TypesMission").Range("A" & I).Value
'rempli la deuxiemme colonne
CboMissions.AddItem Sheets("TypesMission").Range("B" & I).Value
Next I
CboMissions.Visible = True
CboMissions.ListIndex = 0
Sheets("EmploiSemaine").Select


Merci d'avance pour votre aide
gege


Avatar
lSteph
Bonjour,

Private Sub UserForm_Initialize()
Sheets("EmploiSemaine").Activate
With cbomissions
.ColumnCount = 2
.RowSource = Range([b2], [a65536].End(xlUp).Offset(-1, 0)).Address
End With
End Sub

'lSteph
"gérard" a écrit dans le message de news:
44defe79$0$864$
Bonjour
je voudrais remplir mon combo avec 2colonnes en vba



'rempli le combo mission
Sheets("EmploiSemaine").Select
CboMissions.Clear
I = 0
For I = 2 To Sheets("TypesMission").Range("A65536").End(xlUp).Row - 1
'rempli la 1er colonne
CboMissions.AddItem Sheets("TypesMission").Range("A" & I).Value
'rempli la deuxiemme colonne
CboMissions.AddItem Sheets("TypesMission").Range("B" & I).Value
Next I
CboMissions.Visible = True
CboMissions.ListIndex = 0
Sheets("EmploiSemaine").Select


Merci d'avance pour votre aide
gege



Avatar
gérard
Bonjour et merci de votre aide
le combo est bien sur la feuille "EmploiSemaine"
Sheets("EmploiSemaine").Activate

With cbomissions
.ColumnCount = 2
'Mais la source est sur la feuille "TypesMissions"
j'ai bien essaye en definissant un Nom exemple Maliste2Col
ÞCALER(TypesMission!$A$2;;;NBVAL(TypesMission!$A:$A)-1;2)

pour Rowsource j'ai essaye
.rowsource= Maliste2Col
ca ne marche pas

.RowSource = Range([b2], [a65536].End(xlUp).Offset(-1, 0)).Address ===> je
pense plutot pour Offset(0,1)) ???
End With

End Sub

http://cjoint.com/?inq5VwCC50


"lSteph" a écrit dans le message de news:

Bonjour,

Private Sub UserForm_Initialize()
Sheets("EmploiSemaine").Activate
With cbomissions
.ColumnCount = 2
.RowSource = Range([b2], [a65536].End(xlUp).Offset(-1, 0)).Address
End With
End Sub

'lSteph
"gérard" a écrit dans le message de news:
44defe79$0$864$
Bonjour
je voudrais remplir mon combo avec 2colonnes en vba



'rempli le combo mission
Sheets("EmploiSemaine").Select
CboMissions.Clear
I = 0
For I = 2 To Sheets("TypesMission").Range("A65536").End(xlUp).Row - 1
'rempli la 1er colonne
CboMissions.AddItem Sheets("TypesMission").Range("A" & I).Value
'rempli la deuxiemme colonne
CboMissions.AddItem Sheets("TypesMission").Range("B" & I).Value
Next I
CboMissions.Visible = True
CboMissions.ListIndex = 0
Sheets("EmploiSemaine").Select


Merci d'avance pour votre aide
gege







Avatar
lSteph
..je pensais que tu travaillais avec un userform,
je vois que tu as réponse de JB sur l'autre fil.

Cordialement.

lSteph
"gérard" a écrit dans le message de news:
44df3e0a$0$1012$
Bonjour et merci de votre aide
le combo est bien sur la feuille "EmploiSemaine"
Sheets("EmploiSemaine").Activate

With cbomissions
.ColumnCount = 2
'Mais la source est sur la feuille "TypesMissions"
j'ai bien essaye en definissant un Nom exemple Maliste2Col
ÞCALER(TypesMission!$A$2;;;NBVAL(TypesMission!$A:$A)-1;2)

pour Rowsource j'ai essaye
.rowsource= Maliste2Col
ca ne marche pas

.RowSource = Range([b2], [a65536].End(xlUp).Offset(-1, 0)).Address ===> je
pense plutot pour Offset(0,1)) ???
End With

End Sub

http://cjoint.com/?inq5VwCC50


"lSteph" a écrit dans le message de news:

Bonjour,

Private Sub UserForm_Initialize()
Sheets("EmploiSemaine").Activate
With cbomissions
.ColumnCount = 2
.RowSource = Range([b2], [a65536].End(xlUp).Offset(-1, 0)).Address
End With
End Sub

'lSteph
"gérard" a écrit dans le message de news:
44defe79$0$864$
Bonjour
je voudrais remplir mon combo avec 2colonnes en vba



'rempli le combo mission
Sheets("EmploiSemaine").Select
CboMissions.Clear
I = 0
For I = 2 To Sheets("TypesMission").Range("A65536").End(xlUp).Row - 1
'rempli la 1er colonne
CboMissions.AddItem Sheets("TypesMission").Range("A" & I).Value
'rempli la deuxiemme colonne
CboMissions.AddItem Sheets("TypesMission").Range("B" & I).Value
Next I
CboMissions.Visible = True
CboMissions.ListIndex = 0
Sheets("EmploiSemaine").Select


Merci d'avance pour votre aide
gege











Avatar
JB
J'ai modifié ton classeur:

http://cjoint.com/?inrFpnp2qF

1- Le nom de champ dynamique n'était pas bon
2-Avec ListFillRange (ou Rowsource sur un formulaire), l'évennement
Change() est activé si on modifie la liste dans le tableur.
Pour éviter cet inconvénient :

Private Sub Workbook_Open()
Sheets("emploiSemaine2").CboMissions.List =
Application.Transpose(Application.Transpose([Maliste2Col]))

JB

End Sub


Bonjour et merci de votre aide
le combo est bien sur la feuille "EmploiSemaine"
Sheets("EmploiSemaine").Activate

With cbomissions
.ColumnCount = 2
'Mais la source est sur la feuille "TypesMissions"
j'ai bien essaye en definissant un Nom exemple Maliste2Col
ÞCALER(TypesMission!$A$2;;;NBVAL(TypesMission!$A:$A)-1;2)

pour Rowsource j'ai essaye
.rowsource= Maliste2Col
ca ne marche pas

.RowSource = Range([b2], [a65536].End(xlUp).Offset(-1, 0)).Address = ==> je
pense plutot pour Offset(0,1)) ???
End With

End Sub

http://cjoint.com/?inq5VwCC50


"lSteph" a écrit dans le message de news:

Bonjour,

Private Sub UserForm_Initialize()
Sheets("EmploiSemaine").Activate
With cbomissions
.ColumnCount = 2
.RowSource = Range([b2], [a65536].End(xlUp).Offset(-1, 0)).Address
End With
End Sub

'lSteph
"gérard" a écrit dans le message de news:
44defe79$0$864$
Bonjour
je voudrais remplir mon combo avec 2colonnes en vba



'rempli le combo mission
Sheets("EmploiSemaine").Select
CboMissions.Clear
I = 0
For I = 2 To Sheets("TypesMission").Range("A65536").End(xlUp).Row - 1
'rempli la 1er colonne
CboMissions.AddItem Sheets("TypesMission").Range("A" & I).Value
'rempli la deuxiemme colonne
CboMissions.AddItem Sheets("TypesMission").Range("B" & I).Value
Next I
CboMissions.Visible = True
CboMissions.ListIndex = 0
Sheets("EmploiSemaine").Select


Merci d'avance pour votre aide
gege









Avatar
gérard
merci JB
ce soir j'ai ete comble
sur ces deux methode pour remplir ce combo
merci
"JB" a écrit dans le message de news:

J'ai modifié ton classeur:

http://cjoint.com/?inrFpnp2qF

1- Le nom de champ dynamique n'était pas bon
2-Avec ListFillRange (ou Rowsource sur un formulaire), l'évennement
Change() est activé si on modifie la liste dans le tableur.
Pour éviter cet inconvénient :

Private Sub Workbook_Open()
Sheets("emploiSemaine2").CboMissions.List Application.Transpose(Application.Transpose([Maliste2Col]))

JB

End Sub


Bonjour et merci de votre aide
le combo est bien sur la feuille "EmploiSemaine"
Sheets("EmploiSemaine").Activate

With cbomissions
.ColumnCount = 2
'Mais la source est sur la feuille "TypesMissions"
j'ai bien essaye en definissant un Nom exemple Maliste2Col
ÞCALER(TypesMission!$A$2;;;NBVAL(TypesMission!$A:$A)-1;2)

pour Rowsource j'ai essaye
.rowsource= Maliste2Col
ca ne marche pas

.RowSource = Range([b2], [a65536].End(xlUp).Offset(-1, 0)).Address ===> je
pense plutot pour Offset(0,1)) ???
End With

End Sub

http://cjoint.com/?inq5VwCC50


"lSteph" a écrit dans le message de news:

Bonjour,

Private Sub UserForm_Initialize()
Sheets("EmploiSemaine").Activate
With cbomissions
.ColumnCount = 2
.RowSource = Range([b2], [a65536].End(xlUp).Offset(-1, 0)).Address
End With
End Sub

'lSteph
"gérard" a écrit dans le message de news:
44defe79$0$864$
Bonjour
je voudrais remplir mon combo avec 2colonnes en vba



'rempli le combo mission
Sheets("EmploiSemaine").Select
CboMissions.Clear
I = 0
For I = 2 To Sheets("TypesMission").Range("A65536").End(xlUp).Row - 1
'rempli la 1er colonne
CboMissions.AddItem Sheets("TypesMission").Range("A" & I).Value
'rempli la deuxiemme colonne
CboMissions.AddItem Sheets("TypesMission").Range("B" & I).Value
Next I
CboMissions.Visible = True
CboMissions.ListIndex = 0
Sheets("EmploiSemaine").Select


Merci d'avance pour votre aide
gege