Microsoft 365 Combobox

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

Regueiro

XLDnaute Impliqué
Bonsoir le Forum
J'aimerais alimenter me.combobox.2 avec

Les données ci-dessous :​
Ce que je veux dans le combobox.2​
HFSHS 40 / 2.6
HFSHS 40 / 3.2
HFSHS 40 / 4
HFSHS 40 / 5
HFSHS 50 / 2.6
HFSHS 50 / 3.2
HFSHS 50 / 4
HFSHS 50 / 5
HFSHS 50 / 6.3
HFSHS 60 / 2.
HFSHS 40
HFSHS 50
HFSHS 60








Private Sub ComboBox1_click()
TAB1 = [TAB_HFSHS].Value
Set d = CreateObject("Scripting.Dictionary")
Select Case Me.ComboBox1
Case "Finis à Chaud - EN 10 210-2"
For Each c In TAB1
temp = ""
temp = Left(c, InStrRev(c, "/") - 1)
'MsgBox temp 'OK mais pas dans le Combobox.2

If UCase(c) Like temp Then d(c.Value) = ""

Next c
temp = d.keys
Me.ComboBox2.List = temp

'Me.ComboBox2.RowSource = "TAB_HFSHS"
'Me.ComboBox2.List = TAB1 'OK


Case "Finis à Froid - EN 10 219-2"
Me.ComboBox2.RowSource = "TAB_CFSHS"
End Select
End Sub

Merci pour votre Aide
 
Bonjour,

VB:
  Dim i As Long
    Dim dic As Object
    Dim tb() As Variant

    Set dic = CreateObject("scripting.dictionary")
    tb = Feuil1.Range("A1:A10").Value ' Modifier la source
    For i = 1 To UBound(tb)
        dic(Split(tb(i, 1), " /")(0)) =""
    Next i
    tb = dic.keys
    If dic.Count > 1 Then
        Me.ComboBox2.List = tb
    ElseIf dic.Count = 1 Then
        Me.ComboBox2.AddItem tb(0)
    End If

bonne journée
 
Bonjour Le Forum, Roblochon
Merci pour votre code, je l'ai intégré dans mon fichier.

Le combobox est alimenté avec toutes les données et avec le /.
Par contre avec mon temp cela marche
temp = Left(c, InStrRev(c, "/") - 1)
mais je n'arrive pas à l'intégrer
Merci de votre Aide
 
Merci pour votre Aide
Voilà avec le bon Code en rouge
Private Sub ComboBox1_click()
Dim i As Long
Dim dic As Object
Dim tb() As Variant
Set dic = CreateObject("scripting.dictionary")

Select Case Me.ComboBox1
Case "Finis à Chaud - EN 10 210-2"
tb = [TAB_HFSHS].Value
For i = 1 To UBound(tb)
'dic(Split(tb(i, 1), "/ ")(0)) = ""
dic(VBA.Left(tb(i, 1), InStrRev(tb(i, 1), "/") - 1)) = ""
Next i
tb = dic.keys
If dic.Count > 1 Then
Me.ComboBox2.List = tb
ElseIf dic.Count = 1 Then
 
Bonsoir Regueiro, Roblochon,

Il n'y a pas besoin de tester si dic.Count = 1, ceci fonctionne dans tous les cas :
VB:
Dim dic As Object, tb, i&
Set dic = CreateObject("scripting.dictionary")
tb = Feuil1.Range("A1:A10") 'Modifier la source
For i = 1 To UBound(tb)
    dic(Split(tb(i, 1), " /")(0)) = ""
Next i
ComboBox2.List = dic.keys
En effet dic.keys est toujours un Array.

A+
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Retour