Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

lier une 3eme combo aux 2 autres

coolman53

XLDnaute Junior
Bonjour,

J'ai reussi à lier 2 combobox mais je voudrai en rajouter une 3eme qui prendra les données de la colonne F en lien avec les 2 autres ( je sais pas si c'est clair ce que je mets!!!!)

Voici le code et le fichier

Merci d'avance

Option Explicit

Dim Ws As Worksheet
Dim NbLignes As Integer
Dim NoAction As Boolean

Private Sub ComboBox1_Change()
'Eviter d'envoyer la macro à chaque itération du remplissage du Combo1
If NoAction Then Exit Sub
Alim_Combo 2, ComboBox1.Value
End Sub

Private Sub Alim_Combo(CbxIndex As Integer, Optional Cible As Variant)
Dim j As Integer
Dim Obj As Control

Set Obj = Me.Controls("ComboBox" & CbxIndex)
Obj.Clear
NoAction = True
If CbxIndex = 1 Then
For j = 3 To NbLignes
Obj = Ws.Range("E" & j)
If Obj.ListIndex = -1 Then Obj.AddItem Ws.Range("E" & j)
Next j
ElseIf CbxIndex = 2 Then
For j = 3 To NbLignes
If Ws.Range("E" & j) = CInt(Cible) Then
Obj = Ws.Range("D" & j)
If Obj.ListIndex = -1 Then Obj.AddItem Ws.Range("D" & j)
End If
Next j
End If
On Error Resume Next
Obj.ListIndex = 0
On Error GoTo 0
NoAction = False
End Sub

Private Sub UserForm_Initialize()
Set Ws = Sheets("Base")
NbLignes = Ws.Range("D65536").End(xlUp).Row
'Remplissage du ComboBox1
Alim_Combo 1
Alim_Combo 2, ComboBox1.Value
Alim_Combo 3, ComboBox1.Value

End Sub
 

Pièces jointes

  • 1TEST VBA .xls
    249.5 KB · Affichages: 39
  • 1TEST VBA .xls
    249.5 KB · Affichages: 44
  • 1TEST VBA .xls
    249.5 KB · Affichages: 42

Bebere

XLDnaute Barbatruc
Re : lier une 3eme combo aux 2 autres

bonjour Coolman
emploi d'une autre méthode,plus rapide
 

Pièces jointes

  • 1TEST VBA .xls
    257.5 KB · Affichages: 55
  • 1TEST VBA .xls
    257.5 KB · Affichages: 57
  • 1TEST VBA .xls
    257.5 KB · Affichages: 54

coolman53

XLDnaute Junior
Re : lier une 3eme combo aux 2 autres

C'est exactement cela que je veux!!!!! Merci

Par contre il y a un bug lorsque je choisi dans la combo 1 9.1 ou 9.2

Par hasard est ce que tu saurai comment faire pour que :

- les données dans les combos soit triées
- enlever la derniere lettre de l'INS dans la combo 2 et regroupe les données dans la combo 3

Avec un exemple ce sera plus facile a comprendre

Je choisi dans combo 1 la colonne 5, cela m'affiche dans la combo 2 INS0575A/INS0575B/INS0575C.
Je voudrai regrouper les 3INS pour faire INS0575 et comme sa dans la combo 3 il y a tous les choix de molecules correspondant à INS0575 dans la colonne 5

J'espere que mon explication à été clair

Merci pour ton aide
 

Bebere

XLDnaute Barbatruc
Re : lier une 3eme combo aux 2 autres

bonjour coolman
changements effectués
 

Pièces jointes

  • 1TEST VBA .xls
    265 KB · Affichages: 60
  • 1TEST VBA .xls
    265 KB · Affichages: 53
  • 1TEST VBA .xls
    265 KB · Affichages: 60

Bebere

XLDnaute Barbatruc
Re : lier une 3eme combo aux 2 autres

bonjour Coolman
en pièce jointe un essai
ce n'est pas difficile de faire un graphique tout de même
 

Pièces jointes

  • 2TESTVBACoolman.xls
    200.5 KB · Affichages: 31

Discussions similaires

Réponses
11
Affichages
404
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…