Cliquer dans une listBox

Résolu
vieuxray -  
 vieuxray -
Bonjour a tous, forum bonjour

<config>Windows 7-32 bits / Explorer 11.0</Excel 2007>

J'ai une liste de vidéos dans ma colonne (A) feuil1 fichier .avi

Quand je clic sur une vidéo celle ci lance le multi player windows pour la lecture ca c'est bon.

Je transfère cette liste colonne A vers un UserForm1 et une ListBox1 ca c'est bon aussi.

Mais que reste t'il alors: hé bien
Je souhaiterai d'un clic ou un double clic lancer une vidéo .avi a partir de la liste de la ListBox1 avec le lecteur ci dessous.
le code ci dessous est celui que j'utilise et ca fonctionne bien.

Merci a tous pour votre aide, bonne après midi a vous.

Cdlt Raymond


Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
Dim Chemin As String, Film As String

If Not Intersect(Target, Range("A1:A" & [A4000].End(xlUp).Row)) Is Nothing Then
Cancel = True
Range(Cells(Target.Row, 1), Cells(Target.Row, Target.Column)).Interior.ColorIndex = 4 'Vert
Chemin = "H:\": Film = Target & ".avi"

UserForm1.Label91 = Film 'Affiche le titre du film a visionner
End If

Shell """C:\Program Files\Windows Media Player\wmplayer.exe"" """ & Chemin & Film, vbMaximizedFocus
End Sub

9 réponses

  1. cs_Le Pivert Messages postés 8437 Statut Contributeur 730
     
    Bonjour,

    En partant du principe que les données contenues dans la Listbox sont les même que celles de la colonne, voici le code pris sur ce site:

    https://silkyroad.developpez.com/VBA/ControlesUserForm/#LII-G

    Option Explicit
    'http://silkyroad.developpez.com/VBA/ControlesUserForm/#LII-G
    Private Sub ListBox1_Click()
    Dim chemin As String
    Dim nom As String
    If ListBox1.ListIndex = -1 Then Exit Sub
    nom = ListBox1.List(ListBox1.ListIndex)
     chemin = "H:\": Film = nom & ".avi"
       Shell """C:\Program Files\Windows Media Player\wmplayer.exe"" """ & chemin & Film, vbMaximizedFocus
    End Sub
    Private Sub UserForm_Initialize()
    ListBox1.List() = Range("A1:A12").Value 'a adapter
    End Sub
    
    

    @+ Le Pivert
    1
  2. cs_Le Pivert Messages postés 8437 Statut Contributeur 730
     
    comme ceci:

    Private Sub UserForm_Initialize()
    Dim DernLigne As Long
    DernLigne = Range("A1048576").End(xlUp).Row 'Excel 2007
    ListBox1.List() = Range("A1:A" & DernLigne).Value
    End Sub
    

    1
  3. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  4. vieuxray
     
    Salut cs_Le Pivert,

    Merci pour ta réponse, un peu de mal mais j'ai adapter et c'est bon ca fonctionne.
    La vidéo sélectionnée démarre sur un clic et ca réponds a mon besoin dans l'immédiat

    Néanmoins j'ai deux questions si tu veux bien:

    (1) Comme je disais le film démarre sur un clic MAIS au cas ou je souhaiterai que le film démarre sur un double clic, le code serait quoi svp.

    (2) Je souhaiterai que lorsque je sélectionne dans la ListBox1 ne pas avoir a me soucier si j'arrive a la fin de la liste disons une gestion automatique.

    ---Alors j'ai remplacer le code ci dessous par celui plus bas

    je voulais savoir svp si j'ai bon ou pas ou faut t'il modifier ???

    Je te remercie, c'est bien gentil a toi, bonne soirée

    Cdlt Raymond

    Ancien code
    Private Sub UserForm_Initialize()
    ListBox1.List() = Range("A1:A12").Value 'a adapter
    End Sub


     Remplacer par ce nouveau code
    ListBox1.List() = Range("A1:A" & .Range("A4000").End(xlUp).Row).Value
    0
  5. vieuxray
     
    Salut cs_le pivert,

    Merci pour ta réponse, pour le double clic c'est bon j'ai adapter ca fonctionne

    Mais pour le code ci dessous la c'est pas bon, j'ai suivi ton lien (merci) mais ca me plante l'ouverture de mon USF avec une erreur 400


    ListBox1.List() = Range("A4000").End(xlUp).Row


    je n'ai pas tout compris même avec divers essais

    bonne soirée a toi et merci

    Cdlt Raymond
    0
  6. vieuxray
     
    Salut cs_le pivert,

    Merci pour ta réponse,

    Ca ne plante plus mon USF1 voila donc ca fonctionne

    Mais pourquoi svp Range("A1048576").

    Merci et bonne journée a toi

    Vdlt Ray
    0
  7. vieuxray
     
    Salut

    Merci pour la réponse

    ton lien s'affiche mais il disparait immédiatement
    0
  8. vieuxray
     
    Salut cs_le pivert

    ok c'est bon j'ai trouver, je n'avais pas fait le rapprochement, désoler

    A l'inverse de la combinaison précédente, lorsque vous sélectionnez la dernière cellule de votre colonne (C65536 ou C1048576 selon votre version)

    merci pour ton aide je clos le sujet

    passe une très bonne journée

    et encore grand merci a toi

    Cdlt Raymond
    0