Insérer texte dans UserForm selon critère

Electron24

XLDnaute Occasionnel
Bonjour le Forum,

Je viens vers vous afin que si vous le désirez, vous pourriez m'aider.
Voilà j'ai dans une feuille ce code :

Code:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)

  ' Affichage du résumé.
'  If Target.Column = 3 And Target.Row = 10 Then
'        MsgBox ActiveCell.Offset(0, 5), , "Résumé."
'End If
  If Target.Column = 3 And Target.Row > 9 And Target.Row < 1000 Then
      If Target = "" Then
    Exit Sub
    Else
        Range("P8") = ""
        Range("C4") = ActiveCell.Offset(0, 0)
        MsgBox ActiveCell.Offset(0, 6), , ActiveCell.Offset(0, 0) ' "Synopsis."

FrmResume.Show
        FrmResume.T1.value = range.ActiveCell.Offset(0, 6), , ActiveCell.Offset(0, 0)

End If
  End If

End Sub

Je souhaiterai en lieu et place du MsgBox ouvrir un formulaire qui me mettrait le résumé du film se trouvant dans la colonne active.
j'ai créé le formulaire et la ligne de code :

Code:
       FrmResume.Show
        FrmResume.T1.value = range.ActiveCell.Offset(0, 6), , ActiveCell.Offset(0, 0)
Cela ne fonctionne pas alors que dans le MsgBox ça fonctionne.

Pouvez vous me renseigner merci.
 
Solution
Pour le second point, dans la zone Rechercher… en haut à droite, tapez ComboBoxLiées. Vous trouverez de nombreux exemples d'utilisation de cet objet.
Pour le contrôle Image, dans la fenêtre de propriété, mettre sa propriété PictureSizeMode à 3 - fmPictureSizeModeZoom

Electron24

XLDnaute Occasionnel
Un fichier sera plus facile pour comprendre.
Dans la feuille "Rechercher" lorsque je clique sur un titre de vidéo, j'ouvre un MsgBox avec le résumé de la vidéo.
J'aimerai en lieu et place de cette boite de message avoir l'userForm "FrmResume" qui s'ouvre avec le résumé et si possible l'affiche du film.
Etant donné qu'il est impossible d'insérer une image dans un MsgBox
 

Pièces jointes

  • Vidéos.xlsm
    3 MB · Affichages: 20

Dranreb

XLDnaute Barbatruc
la ligne : FrmResume.T1.value = range.ActiveCell.Offset(0, 6), , ActiveCell.Offset(0, 0)
me donne une erreur de syntaxe
Normal: Une valeur de TextBox c'est une expression String, pas en plus derrière les paramètres Buttons et Title d'un MsgBox !
Éventuellement ça aurait pu être bon :
VB:
        FrmResume.T1.Value = ActiveCell.Offset(0, 6).Value: FrmResume.Caption = ActiveCell.Value
 
Dernière édition:

Dranreb

XLDnaute Barbatruc
Il vous faut installer un contrôle Image et faire à un moment donné Image1.Picture = LoadPicture(CheminFichier)
Vous auriez intérêt à repenser tout ça avec utilisation de mon objet ComboBoxLiée: vous seriez complètement déchargé des tâches de recherche dans la programmation du UserForm. Possibilité d'y ajouter recherches intuitives ou par mots clés. Pas besoin de listes annexes: il construit les listes dans son coin, d'après ce qui existe dans la base et ce qui a déjà été choisi dans certaines ComboBox dont il a aussi la charge.
 

Dranreb

XLDnaute Barbatruc
Pour le second point, dans la zone Rechercher… en haut à droite, tapez ComboBoxLiées. Vous trouverez de nombreux exemples d'utilisation de cet objet.
Pour le contrôle Image, dans la fenêtre de propriété, mettre sa propriété PictureSizeMode à 3 - fmPictureSizeModeZoom
 
Dernière édition:

Electron24

XLDnaute Occasionnel
Le souci est que le comboboxliées n'est pas vraiment ce que je recherche. Si je pars sur mon idée de la feuille "Rechercher" j'utilise une liste déroulante pour sélectionner un genre de film qui sont ensuite affichés à partir de la colonne C10 ensuite en cliquant sur un titre j'ouvre mon formulaire qui m'affiche le résumé les acteurs le genre le titre et si il est disponible. Si c'est le cas, un bouton apparaît qui me permet de voir le film. Donc le problème restant est l'affichage de l'image du film. j'ai mis un cadre image mais je n'arrive pas à le remplir. Il faut savoir que les différentes données sont dans les cellules I10......I100 - avec la formule "=SI($C10="";"";RECHERCHEV($C10;Base;COLONNES($D:N);0))"
 

Electron24

XLDnaute Occasionnel
J'ai trouvé la solution
voici le code et ça fonctionne.
Code:
Sub Copie_Image()
Dim Image As String
On Error GoTo Fin 'si erreur aller à fin

Image = Txt_Titre.Value
Image1.Picture = LoadPicture("H:\MES VIDEOS\Films\" & Image & "\" & Txt_Titre & ".jpg")

Exit Sub ' ici on sort si pas d'erreur

' Ici c'est l'image par défaut qui s'affiche en cas d'erreur
Fin:
Image1.Picture = LoadPicture("C:\MA BIBLIOTHEQUE\CONTACTS\Photos\Désolé.jpg")
Err.Clear ' Efface les champs d'erreur

End Sub

Merci encore Dranreb
 

Statistiques des forums

Discussions
312 160
Messages
2 085 841
Membres
103 002
dernier inscrit
LERUS