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.

vba3

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);

bdd

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.

nv

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 sur le forum,

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 Il est confidentiel? mets des données non confidentielles, change quelques informations en gardant la structure de ton fichier, et le tour sera joué!

12test.xlsm (84.72 Ko)

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

Rechercher des sujets similaires à "trie combo"