Problème pour afficher une image liée à un Combobox (Liste déroulante) dans un formulaire

Legendre

XLDnaute Nouveau
Bonjour,
Dans un Userform1 j'ai une liste déroulante liée au ComboBox1 qui me permet d'afficher l'Image1 elle même liée au nom correspondant au Combobox1.
Un code appelé (Code1) me permet d'ouvrir l'image1 lorsque je clic sur Image1.
Mon problème est le suivant :
Quand je clique sur Image1 puis que je ferme cette Image1 et que je retourne sur la liste déroulante (Combobox1) pour afficher un autre nom, L'image correspondant à ce nouveau nom de la liste déroulante ne s'affiche pas. Je reste bloqué à l'affichage sur l'image que j'ai précédemment ouverte.
Je précise que j'ai un bouton (CommandButton10) lié à un code2 me permettant d'aller au nom suivant de la liste déroulante (ComboBox1)
____________________________________________________________________________________________________________________________________________
Code 1 : Ce code me permet d'ouvrir l'Image1 liée au nom du Combobox1
Private Sub Image1_Click()
'Aller ouvrir l'image sélectionner avec le nom dans la liste déroulante
'Nouveau code le 22/10/2020
If ActiveWorkbook.Name <> ThisWorkbook.Name Then ThisWorkbook.Activate
Dim NomFic As String, ArgDir As String
Dim Nom As String
Rep = Workbooks(ActiveWorkbook.Name).Path & "\Medias\"
ArgDir = Rep & ComboBox1.Value & ".jpg"
NomFic = Dir(ArgDir)
If NomFic <> "" Then
ThisWorkbook.FollowHyperlink Rep & NomFic
Else
MsgBox "Il n'existe pas d'Image :" & vbLf & ArgDir, vbCritical, Me.Caption
End If
End Sub
__________________________________________________________________________________________________________
Code2 : Bouton me permettant d'aller à la ligne suivante de la liste déroulante (ComboBox1)
Private Sub CommandButton10_Click()
'Bouton ligne suivante dans la liste déroulante
If ActiveWorkbook.Name <> ThisWorkbook.Name Then ThisWorkbook.Activate
ThisWorkbook.Sheets("Porteurs").Activate
With ComboBox1
If .ListIndex = -1 Then Exit Sub
If .ListIndex < .ListCount - 1 Then .ListIndex = .ListIndex + 1
[B2].Offset(.ListIndex).Select
End With

Auriez vous une solution à mon problème d'affichage de la nouvelle Image1 lorsque j'appuie sur mon bouton ligne suivante ?
NB : L'ironie c'est que quand je clic sur cette image je peux ouvrir la bonne image1 mais à l'affichage j'ai l'ancienne Image1
S'agit-il d'un problème de chargement ou de mise à jour dans le userform1 ?
Merci
Cordialement
Jacques
 

Legendre

XLDnaute Nouveau
Bonjour,
Dans un Userform1 j'ai une liste déroulante liée au ComboBox1 qui me permet d'afficher l'Image1 elle même liée au nom correspondant au Combobox1.
Un code appelé (Code1) me permet d'ouvrir l'image1 lorsque je clic sur Image1.
Mon problème est le suivant :
Quand je clique sur Image1 puis que je ferme cette Image1 et que je retourne sur la liste déroulante (Combobox1) pour afficher un autre nom, L'image correspondant à ce nouveau nom de la liste déroulante ne s'affiche pas. Je reste bloqué à l'affichage sur l'image que j'ai précédemment ouverte.
Je précise que j'ai un bouton (CommandButton10) lié à un code2 me permettant d'aller au nom suivant de la liste déroulante (ComboBox1)
____________________________________________________________________________________________________________________________________________
Code 1 : Ce code me permet d'ouvrir l'Image1 liée au nom du Combobox1
Private Sub Image1_Click()
'Aller ouvrir l'image sélectionner avec le nom dans la liste déroulante
'Nouveau code le 22/10/2020
If ActiveWorkbook.Name <> ThisWorkbook.Name Then ThisWorkbook.Activate
Dim NomFic As String, ArgDir As String
Dim Nom As String
Rep = Workbooks(ActiveWorkbook.Name).Path & "\Medias\"
ArgDir = Rep & ComboBox1.Value & ".jpg"
NomFic = Dir(ArgDir)
If NomFic <> "" Then
ThisWorkbook.FollowHyperlink Rep & NomFic
Else
MsgBox "Il n'existe pas d'Image :" & vbLf & ArgDir, vbCritical, Me.Caption
End If
End Sub
__________________________________________________________________________________________________________
Code2 : Bouton me permettant d'aller à la ligne suivante de la liste déroulante (ComboBox1)
Private Sub CommandButton10_Click()
'Bouton ligne suivante dans la liste déroulante
If ActiveWorkbook.Name <> ThisWorkbook.Name Then ThisWorkbook.Activate
ThisWorkbook.Sheets("Porteurs").Activate
With ComboBox1
If .ListIndex = -1 Then Exit Sub
If .ListIndex < .ListCount - 1 Then .ListIndex = .ListIndex + 1
[B2].Offset(.ListIndex).Select
End With

Auriez vous une solution à mon problème d'affichage de la nouvelle Image1 lorsque j'appuie sur mon bouton ligne suivante ?
NB : L'ironie c'est que quand je clic sur cette image je peux ouvrir la bonne image1 mais à l'affichage j'ai l'ancienne Image1
S'agit-il d'un problème de chargement ou de mise à jour dans le userform1 ?
Merci
Cordialement
Jacques

Merci à vous, mon problème est résolu en rajoutant la ligne de code suivante
'Rechargement du formulaire
Me.Repaint
Encore merci
 

Discussions similaires

Haut Bas