Problème de lien entre userform

dran_200

XLDnaute Occasionnel
Bonjour à tous.
Je recherche une solution à mon problème ?
Mon probleme est le suivant : Quand on lance le 1er userform ça fonctionne, on active le bouton pour lancer le deuxième userform, la listbox1 marche (elle s'affiche en fonction du choix sur la 1er userform) mais ça n'active pas la deuxième listbox ? il faut reselectionner le choix sur la 1er listbox. Le même fichier fonctionne avec une autre base de données ? Je ne trouve pas le probleme ??
J'ai aussi un soucis pour faire fonctionner l'affichage des photos sur le deuxieme userform ? ça fonctionne tres bien sur le premier. L'affichage doit se faire en fonctionne de la listbox4.
je vous joint un exemple
Encore Merci pour votre aide
 

Fichiers joints

skoobi

XLDnaute Barbatruc
Re : Problème de lien entre userform

Bonsoir dran_200,

avant d'afficher le second usf, récupère la liste de la listbox du premier usf comme ceci (ajout en bleu):

Code:
Private Sub CommandButton1_Click()

Unload Me
With UserForm2
.ListBox1.ListIndex = Me.ListBox1.ListIndex
[B][COLOR=Blue].ListBox2.List = ListBox2.List[/COLOR][/B]
.Show
End With

End Sub
Je pense que tu peux appliquer ce principe pour l'image.

PS: attention: "Unload" décharge de la mémoire l'usf actif, dans ton cas, je te conseil plutôt de le cacher avec "Hide" (Me.Hide) puis de faire "Unload" quand tu mais fin à ton travail.
 

dran_200

XLDnaute Occasionnel
Re : Problème de lien entre userform

Re bonjour,
merci pour ta rapidité. J'ai testé ton code, le probleme est que ça affiche la list du premier userform, la feuille BD. la listbox2 du 2eme userform doit afficher la colonne B de la feuille BD2. Encore merci
 

skoobi

XLDnaute Barbatruc
Re : Problème de lien entre userform

Et bien à la place de ce que j'ai ajouté il te suffit de réécrire le code de la liste listbox1 de l'userform2 pour créer la listbox2 non? Où j'ai mal compris?
 

dran_200

XLDnaute Occasionnel
Re : Problème de lien entre userform

re bonjour,
En faite quand l'userform2 s'ouvre, la listbox1 se valide par rapport au choix fait sur l'userform1, mais l'userform2 est lien à la page BD2. La listbox2 doit afficher les choix possible. Je pense que tu as bien compris, mais je n'arrive pas écrire le code pour que ça fonctionne correctement.
encore merci
 

skoobi

XLDnaute Barbatruc
Re : Problème de lien entre userform

Petite correction à apporter au code dans l'userform2:

Code:
Private Sub ListBox1_Change()

    If ListBox1.ListIndex > -1 Then
        ListBox2.Clear
        ListBox3.Clear
        ListBox4.Clear
        i = Feuil4.Range("b65536").End(xlUp).Row
        For Each Cell In Feuil4.Range("a2:a" & i)
            If Cell = [COLOR=Blue][B]ListBox1.List(ListBox1.ListIndex)[/B][/COLOR] Then
                ListBox2.AddItem Cell.Offset(, 1)
            End If
        Next Cell
    End If

End Sub
 

dran_200

XLDnaute Occasionnel
Re : Problème de lien entre userform

re bonjour,
merci ça fonctionne. Il me reste plusque le probleme pour faire fonctionner les photos.
encore merci
 

dran_200

XLDnaute Occasionnel
Re : Problème de lien entre userform

Bonjour,
J'ai toujours mon probleme sur les photos. J'ai essayé plusieurs codes, mais j'ai toujours l'image par défaut.
voila mon code pour les photos que je met dans Private sub Listbox2_ Change() :
Dim Photo As String
On Error GoTo Fin

Photo = Me.ListBox4

Image1.Picture = LoadPicture(ActiveWorkbook.Path & "\Photo\Montre\" & Photo & ".jpg")

Exit Sub

Fin:
Image1.Picture = LoadPicture(ActiveWorkbook.Path & "\Photo\" & "image defaut.jpg")
Err.Clear


encore merci pour votre aide
 

skoobi

XLDnaute Barbatruc
Re : Problème de lien entre userform

Re bonjour dran,

et comme ceci?

Code:
[COLOR=Black]Photo = Me.ListBox4[/COLOR][COLOR=Black].List(ListBox4.ListIndex)[/COLOR]
 

dran_200

XLDnaute Occasionnel
Re : Problème de lien entre userform

Re bonjour, Merci pour ton aide. Ca ne fonctionne pas, j'ai toujours l'image par défaut ?
Encore Merci
 

skoobi

XLDnaute Barbatruc
Re : Problème de lien entre userform

Re bonjour,

c'est dans listbox3 qu'il manque du code pour la photo:

Code:
Private Sub ListBox3_Click()

    If ListBox3.ListIndex > -1 Then
        ListBox4.Clear
        i = Feuil4.Range("b65536").End(xlUp).Row
        For Each Cell In Feuil4.Range("a2:a" & i)
            If Cell = ListBox1 And Cell.Offset(, 1) = ListBox2 And Cell.Offset(, 2) = ListBox3 Then
                ListBox4.AddItem Cell.Offset(, 4)
            End If
        Next Cell
    End If
      Dim Photo As String
    On Error GoTo Fin
    
[COLOR=Blue][B]    Photo = Me.ListBox4.List(0)

    Image1.Picture = LoadPicture(ActiveWorkbook.Path & "\Photo\Montre\" & Photo & ".jpg")
    
    Exit Sub
    
Fin:
Image1.Picture = LoadPicture(ActiveWorkbook.Path & "\Photo\" & "image defaut.jpg")
Err.Clear
[/B][/COLOR]

End Sub
 

Discussions similaires


Haut Bas