Trie par COMBO
salut tt le monde !
mon programme permet d'ajouter les arrêts des machines dans un tableau "journal" avec toutes les informations qui sont reliées à l'arrêt.
pour cela j'ai créer un Userform (macro) où l'utilisateur peut saisir ces informations.
Tout les types d'arrêts sont stockés dans un tableau (BDD) qui contient 3 colonnes (machine;arrêt;type d'arrêt);
Dans mon Userform l'utilisateur doit choisir en premier lieu l'une des machines présentés dans un COMBO, puis le type d'arrêt (mécanique ou électrique), et d'après cet Combo et type d'arrêt le 2ème Combo affiche les arrêts liées à cette machine et type d'arrêt
Par exemple: si il choisi DATEUSE (machine); et électrique (type d'arrêt) le deuxième Combo va afficher tt les arrêts électrique de la DATEUSE qui se trouvent dans le tableau BDD.
Donc ce que je veux c'est de faire un trie du tableau BDD d'après la "machine" et le type d'arrêt et puis le présenté dans le 2ème COMBO
Bonjour et
qu'attends-tu de nous exactement?
Nous ne pourrons pas beaucoup t'aider avec des impressions d'écran, tu es déjà partis sur de bonnes bases, tu as tes listes qui vont permettre d'alimenter des combobox liées entre elles, mais pour la suite?
Tu t'y connais un peu en langage VBA? Tu as une idée de comment ajouter des entrées à une combobox? tu sais faire une boucle sur l'ensemble des lignes?
Tu souhaites des bouts de code que tu adapteras? Des ressources pour chercher par toi même?
Le mieux si tu veux qu'on t'aide directement sur le fichier, ce serait de nous le joindre
voilà mon programme
Ce que je veux c'est de remplir le Combo (cbxType) par les arrêts qui se trouvent dans la feuille (BDD) dans la colonne "arrêt" en se basant sur le choix de la machine(Designation objet) et le type d'arrêt (meca. ou élec).
Merci de m'envoyer vos suggestion et astuce; ça m'aidera bcp !
je suis débutant en VBA mais je suis entrain de me développer pas à pas;
Bonjour,
Ah d'accord, c'est plus clair ainsi
Je te propose le fichier suivant:
Ainsi que le code:
Private Sub cbxDesignation_Change()
Call majType
End Sub
Private Sub obtMeca_Click()
Call majType
End Sub
Private Sub obtElec_Click()
Call majType
End Sub
Private Sub majType()
Dim typeArret As String
Dim tableau As Variant
cbxType.Clear
If cbxDesignation <> "" And (obtMeca Or obtElec) Then
'initialisations
If obtMeca Then
typeArret = "mécanique"
ElseIf obtElec Then
typeArret = "électrique"
End If
tableau = Range("tab_bdd")
'parcours du tableau et ajout à la combobox
For i = LBound(tableau, 1) + 1 To UBound(tableau, 1)
If tableau(i, 1) = cbxDesignation And tableau(i, 3) = typeArret Then
cbxType.AddItem tableau(i, 2)
End If
Next i
End If
End Sub
Je te laisse regarder et essayer de comprendre avec tes connaissances, si tu as des questions pose les