ray76
Nouveau membre
Bonjour a toutes et tous, forum bonjour
Dans la suite de mon programme, je rencontre un souci auquel je n’ai pas la solution.
Je m’explique :
Dans la colonne (A) j’ai une liste de films, quand je clic sur un nom de film, je lance Windows Média Player pour visualiser celui-ci et dans la foulée l’image correspondante au film s’affiche.
Quand je n’ai pas l’image du film, j’en affiche une autre par défaut toujours la même (Liberty.jpg)
Quand je clic sur WMP pour l’arrêter un message qui dit que WMP est a l’arrêt, je clic de nouveau et l’image s’efface, enfin presque d’où le souci.
En fait seule l’image (afficher par défaut s’efface) et en (aucun cas celle qui correspond au film) ne veut pas s’effacer.
Alors que bien sur dans les deux cas il faudrait de toutes manières effacer l’image par défaut OU celle correspondante au film.
Je joins le code qui permets de faire fonctionner ca et S’il vous plait de regarder mon code afin d’y déceler une erreur.
Par avance je vous remercie de corriger.
Bon 14 Juillet a vous et encore merci a vous et de votre temps.
Raymond
[cpp]'*** LANCE UN FILM SUR DOUBLE CLIC DANS LA LISTE COLONNE A
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
Dim Chemin As String: Dim Fichier As String: Dim Shp As Shape: Dim Retval As Long: Dim ID As Variant
Application.ScreenUpdating = False
If Not Intersect(Target, Range("A2:A" & [A3000].End(xlUp).Row)) Is Nothing Then
Cancel = True
Chemin = "E:\Videos\"
Fichier = "E:\Affiche\" & Target.Value & ".jpg"
End If
'*** APPEL DU FILM CHOISI DANS LA COLONNE A
ID = Shell("""C:\Program Files\Windows Media Player\wmplayer.exe"" """ & Chemin & Target & ".avi", vbMaximizedFocus)
Retval = ExecCmd("Wmplayer.exe")
'*** APPEL DE L'IMAGE CORRESPONDANT AU FILM L T W H
On Error Resume Next
Set Shp = Feuil1.Shapes.AddPicture(Fichier, msoFalse, msoCTrue, 945, 196, 194, 240)
On Error GoTo 0
Fichier = IIf(Shp Is Nothing, "E:\Affiche\Liberty.jpg", Fichier)
Set Shp = Feuil1.Shapes.AddPicture(Fichier, msoFalse, msoCTrue, 945, 196, 194, 240)
Shp.Name = Fichier
Application.ScreenUpdating = True
'*** ARRET DU LECTEUR ET EFFACE L'AFFICHE
If Retval = -1 Then MsgBox "Windows média player est arrêter."
Shp.Delete
End Sub[/cpp]
Dans la suite de mon programme, je rencontre un souci auquel je n’ai pas la solution.
Je m’explique :
Dans la colonne (A) j’ai une liste de films, quand je clic sur un nom de film, je lance Windows Média Player pour visualiser celui-ci et dans la foulée l’image correspondante au film s’affiche.
Quand je n’ai pas l’image du film, j’en affiche une autre par défaut toujours la même (Liberty.jpg)
Quand je clic sur WMP pour l’arrêter un message qui dit que WMP est a l’arrêt, je clic de nouveau et l’image s’efface, enfin presque d’où le souci.
En fait seule l’image (afficher par défaut s’efface) et en (aucun cas celle qui correspond au film) ne veut pas s’effacer.
Alors que bien sur dans les deux cas il faudrait de toutes manières effacer l’image par défaut OU celle correspondante au film.
Je joins le code qui permets de faire fonctionner ca et S’il vous plait de regarder mon code afin d’y déceler une erreur.
Par avance je vous remercie de corriger.
Bon 14 Juillet a vous et encore merci a vous et de votre temps.
Raymond
[cpp]'*** LANCE UN FILM SUR DOUBLE CLIC DANS LA LISTE COLONNE A
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
Dim Chemin As String: Dim Fichier As String: Dim Shp As Shape: Dim Retval As Long: Dim ID As Variant
Application.ScreenUpdating = False
If Not Intersect(Target, Range("A2:A" & [A3000].End(xlUp).Row)) Is Nothing Then
Cancel = True
Chemin = "E:\Videos\"
Fichier = "E:\Affiche\" & Target.Value & ".jpg"
End If
'*** APPEL DU FILM CHOISI DANS LA COLONNE A
ID = Shell("""C:\Program Files\Windows Media Player\wmplayer.exe"" """ & Chemin & Target & ".avi", vbMaximizedFocus)
Retval = ExecCmd("Wmplayer.exe")
'*** APPEL DE L'IMAGE CORRESPONDANT AU FILM L T W H
On Error Resume Next
Set Shp = Feuil1.Shapes.AddPicture(Fichier, msoFalse, msoCTrue, 945, 196, 194, 240)
On Error GoTo 0
Fichier = IIf(Shp Is Nothing, "E:\Affiche\Liberty.jpg", Fichier)
Set Shp = Feuil1.Shapes.AddPicture(Fichier, msoFalse, msoCTrue, 945, 196, 194, 240)
Shp.Name = Fichier
Application.ScreenUpdating = True
'*** ARRET DU LECTEUR ET EFFACE L'AFFICHE
If Retval = -1 Then MsgBox "Windows média player est arrêter."
Shp.Delete
End Sub[/cpp]