IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Macros et VBA Excel Discussion :

Effacer une image [XL-2007]


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Homme Profil pro
    Retraité
    Inscrit en
    Novembre 2008
    Messages
    704
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Novembre 2008
    Messages : 704
    Par défaut Effacer une image
    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.

    Encore merci a vous et de votre temps.

    Raymond

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    '*** 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

  2. #2
    Expert éminent Avatar de mercatog
    Homme Profil pro
    Inscrit en
    Juillet 2008
    Messages
    9 435
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Autre

    Informations forums :
    Inscription : Juillet 2008
    Messages : 9 435
    Par défaut
    ici
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Set Shp = Feuil1.Shapes.AddPicture(Fichier, msoFalse, msoCTrue, 945, 196, 194, 240)  'ICI
    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)ET ici
    si l'image du film existe, tu l'insère 2 fois
    plus bas tu la supprime 1 seule fois
    remplace
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    et Shp = Feuil1.Shapes.AddPicture(Fichier, msoFalse, msoCTrue, 945, 196, 194, 240)  'ICI
    On Error GoTo 0
    if shp is nothing then 
       Fichier = "E:\Affiche\Liberty.jpg"
       Set Shp = Feuil1.Shapes.AddPicture(Fichier, msoFalse, msoCTrue, 945, 196, 194, 240)
    endif

  3. #3
    Membre éclairé
    Homme Profil pro
    Retraité
    Inscrit en
    Novembre 2008
    Messages
    704
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Novembre 2008
    Messages : 704
    Par défaut
    Bonjour a toutes et tous, forum bonjour

    Bonjour Mercatoq

    Bien vu, félicitations merci beaucoup, j'ai effectuer ta modification et ca marche nickel.

    Je te souhaite un excellent W-end et encore merci a toi, c'est gentil et très sympa.

    Bye Bye Raymond

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Comment effacer une image ?
    Par carlos587261 dans le forum Débuter
    Réponses: 5
    Dernier message: 13/10/2007, 10h41
  2. Effacer une image chargée dans un TImage
    Par Lalanne dans le forum C++Builder
    Réponses: 2
    Dernier message: 11/07/2007, 16h26
  3. Effacer une image
    Par MrMust dans le forum SDL
    Réponses: 12
    Dernier message: 26/03/2007, 18h09
  4. Effacer une image
    Par caneman dans le forum wxWidgets
    Réponses: 4
    Dernier message: 04/10/2006, 23h03
  5. effacer une image chargée ds TBitmap
    Par sony351 dans le forum C++Builder
    Réponses: 4
    Dernier message: 20/09/2004, 10h28

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo