Selection colonnes discontinues pour alimenter combobox

Citaro

XLDnaute Occasionnel
Bonjour au forum
Dans le code ci dessous, j'alimente une combobox avec la colonne A de la feuille "Données", je voudrais l'alimenter avec les colonnes A et C de la feuille "Données"

Private Sub UserForm_Initialize()
Dim NoDupes As New Collection
Dim vaOperation As Variant
Dim stTypeOperation() As String
Dim x, MesTiers, j
Range("F1").Select
Set f = Sheets("Données")
Set mondico = CreateObject("Scripting.Dictionary")
For Each c In f.Range("A2", f.[A65000].End(xlUp))
If Not mondico.Exists(c.Value) Then mondico.Add c.Value, c.Value
Next c
For Each i In mondico.items
Me.ComboBoxMode.AddItem i
Next
Me.ComboBoxMode.ListIndex = -1
End Sub


Bon weekend à tous
Citaro
 
Dernière édition:

Dranreb

XLDnaute Barbatruc
Re : Selection colonnes discontinues pour alimenter combobox

Bonjour.

À l'aide de mes modules de service, ça pourrait devenir considérablement plus simple d'alimenter une seconde ComboBox avec la colonne C. Sa List s'adapterait en fonction du choix effectué dans la 1ère sans que vous ayez à vous en occuper.
Cherchez 'ComboBoxLiées'.
 

Dranreb

XLDnaute Barbatruc
Re : Selection colonnes discontinues pour alimenter combobox

C'est vague…
Une seule colonne contenant la concaténation des A et C, ou 2 colonnes dans la ComboBox sans recherche possible sur la seconde ?
Pourquoi tenez vous donc à tout prix à faire quelque chose de beaucoup moins pratique que 2 ComboBox ?
 

Citaro

XLDnaute Occasionnel
Re : Selection colonnes discontinues pour alimenter combobox

Dans mon fichier, il y a plusieurs userform, un par feuille, les combobox de ces userform sont alimenter par les colonnes A ou C de la feuille "Données".
Sur le dernier userform la combobox doit être alimenter par 2 colonnes A et B de la feuille "Données".
Si je fais 2 combobox je dois aussi modifié la feuille qui reçoit les valeurs et elle sera du coup différente des autres

Voilà
 

BOISGONTIER

XLDnaute Barbatruc
Repose en paix
Re : Selection colonnes discontinues pour alimenter combobox

Bonjour,

Sans fichier, ce que j'ai compris:

Afficher les colonnes A et C dans le combobox

Code:
Private Sub UserForm_Initialize()
  Set f = Sheets("bd")
  Set Rng = f.Range("A2:C" & f.[A65000].End(xlUp).Row)
  Me.ComboBox1.List = Application.Index(Rng, Evaluate("Row(1:" & Rng.Rows.Count & ")"), Array(1, 3))
End Sub

JB
 

Pièces jointes

  • FiltreArray.xls
    42 KB · Affichages: 35
  • FiltreArray.xls
    42 KB · Affichages: 26

Citaro

XLDnaute Occasionnel
Re : Selection colonnes discontinues pour alimenter combobox

Bonjour BOISGONTIER

Précision: dans la combobox les valeurs de la colonne C doivent se mettre à la suite des valeurs de la colonne A.
Dans ton exemple elles sont côte à côte.

Merci d'avance
Citaro
 

BOISGONTIER

XLDnaute Barbatruc
Repose en paix
Re : Selection colonnes discontinues pour alimenter combobox

Toujours pas de fichier


Code:
Private Sub UserForm_Initialize()
  Set f = Sheets("bd3")
  Me.ComboBox1.List = Evaluate("=A2:A" & f.[A65000].End(xlUp).Row & "&C2:C" & f.[A65000].End(xlUp).Row)
End Sub

JB
 

Pièces jointes

  • FiltreArrayColonnesCombobox.xls
    79.5 KB · Affichages: 32
Dernière édition:

Citaro

XLDnaute Occasionnel
Re : Selection colonnes discontinues pour alimenter combobox

Je viens de rentrer du travail, voilà un fichier test avec des explications

Cordialement
Citaro
 

Pièces jointes

  • Caisse.xlsm
    247.6 KB · Affichages: 34
  • Caisse.xlsm
    247.6 KB · Affichages: 49

Citaro

XLDnaute Occasionnel
Re : Selection colonnes discontinues pour alimenter combobox

Pour info et pour d'autres utilisateurs, il fallait remplacer cette ligne de code:

For Each c In f.Range("A2", f.[A65000].End(xlUp))

Par cette ligne, je ne connais pas cette instruction "Union"

For Each c In Union(f.Range("A2", f.[A65000].End(xlUp)), f.Range("C2", f.[C65000].End(xlUp)))

Bon weekend
Citaro
 

Discussions similaires

Réponses
12
Affichages
225
Réponses
1
Affichages
121

Statistiques des forums

Discussions
311 729
Messages
2 081 970
Membres
101 852
dernier inscrit
dthi16088