Formulaire en cascade

Bonjour à toute la communauté,

J'ai suivi un tutoriel pour élaborer des formulaires en cascades en VBA.

J'ai un peu galéré car je n'ai pas utilisé le support du tuto, j'ai voulu faire le mien directement.

J'ai pas mal avancé mais je suis bloqué. Il n'y a pas d'erreur de signalé dans les codes, mais cela ne marche pas pour autant.

Je mets le fichier en pièce jointe.

Je suis bloqué ici :

onglet "construction", dans les "sources matières" il devrait y être incrémenté les différentes matières (Qu'on retrouve dans l'onglet "bd_sorties", et en même temps purger. Ceci à partir du moment ou j'ai sélectionner un plan dans l'onglet "listes_cascade" en sélectionnant un dans le premier menu déroulant en haut de la page. Donc on devrait retrouver au moins 2 matières différentes (Câble et sangle) dans les "sources matières" de l'onglet "construction". Hors rien n'apparait. Je ne comprends pas.

Quelqu'un pourrait svp jeter un œil sur le code, en particulier dans le module 2, je pense que c'est la que ça déconne.

Merci d'avance,

bonne soirée à tous.

Bonjour,

Testes avec ceci :

Sub charger_matiere()

    Dim Plage As Range
    Dim ligne As Integer
    Dim le_plans As String
    Dim chaine_matiere As String
    Dim ligne_construct As Integer
    Dim colonne As Integer

    le_plans = Sheets("Listes_cascade").liste_plans.Value

    With Worksheets("construction")

        Set Plage = .Range(.Cells(5, 1), _
                    .Cells(.Cells.Find("*", .[A1], -4123, , _
                    1, 2).Row, .Cells.Find("*", .[A1], -4123, , _
                    2, 2).Column))

    End With

    If Plage.Row > 4 Then Plage.ClearContents

    ligne = 2: ligne_construct = 5

    With Sheets("bd_sorties")

        While .Cells(ligne, 1).Value = ""

            If .Cells(ligne, 3).Value = le_plans Then '<--- tu ne comparais pas à la bonne colonne !

                If InStr(chaine_matiere, .Cells(ligne, 4).Value, 1) = 0 Then

                    chaine_matiere = chaine_matiere & "-" & .Cells(ligne, 4).Value
                    Sheets("construction").Cells(ligne_construct, 4).Value = .Cells(ligne, 4).Value
                    ligne_construct = ligne_construct + 1

                End If

            End If

            ligne = ligne + 1

        Wend

    End With

End Sub

Bonjour Theze,

Je te remercie pour ton retour.

Je viens de tester ton code, mais malheureusement cela ne fonctionne pas. D'ailleurs j'ai même des infos qui ont disparu dans les "sources plans" de mon onglet construction

Si quelqu'un a une idée, je suis preneur !!

Merci

Bonne journée

Je te retourne ton fichier :

Theze,

Merci beaucoup pour ton aide, de prendre ce temps la pour moi, mais malheureusement cela ne fonctionne pas.

Le résultat que je souhaiterais c'est ce que arrives à faire ce gars dans cette vidéo :

https://www.youtube.com/watch?v=0tMM38NMJVM

Je te mets sont fichier original, mais il n'y a pas de code, et en faite lorsque je fais un choix dans le menu déroulant, le résultat vient s'inscrire dans le tableau juste en dessous.

J'ai suivi un tutoriel pour élaborer des formulaires en cascades en VBA.

1h16 !! tu as du courage ...

Je te mets sont fichier original, mais il n'y a pas de code,

ici on te donne le fichier exemple et le code !

je ne l'ai pas transcris dans ton fichier car je n'ai pas vu où se trouvaient les données

mais tu peux faire l'inverse, mettre tes données ici

Merci les amis !! merci pour le fichier.

j'ai mis 5h hier pour faire 50 min de tuto !!

Je l'ai toujours pas finis, mais ca y es j'ai trouvé l'erreur !!! en faite c'est parceque je n'avais rien remplis dans ma colonne réf FS, et du ocup c'est comme ci c'était à zéro, et quand c'est zéro, il ne poursuit pas le reste code.

Je débute totalement dans le VBA, je trouve ça passionnant mais j'ai du mal à comprend le pourquoi du comment dans toutes ces formules.

Merci Steelson pour ton document, il est super au point que j'aimerais l'utiliser en mettant mes critères du coup.

Parcontre, c'est ce que j'ai commencé à faire, mais cela ne fonctionne pas. Ca me fait une petit erreur lorsque je change le nom des menus.

J'ai regardé dans le code, mais je ne vois pas comment changer ça.

je te mets le fichier, peux tu jeter un petit coup d'œil stp.

merci pour ton aide.

Dans un filtre, il faut que les en-têtes de colonnes et de critères correspondent avec la base de données

Merci Steelson,

Juste une dernière chose, après je t'embete plus, comment je fais pour modifier ton bouton filtrer, il n'y a pas de code la dedans, je ne vois pas non plus de lien hypertexte. Je me pose la question de savoir comment il est fait.

Merci d'avance

Fais clic droit > affecter une macro > modifier

Ou bien Alt + F11 et tu vas voir le module.

Le code fait ... une ligne.

capture d ecran 292 capture d ecran 294
Rechercher des sujets similaires à "formulaire cascade"