Code de sélection a modifier dans Listview

vieuxray -  
 vieuxray -
Bonsoir a tous, Bonsoir forum

sous Excel 2007 VBA

Après maintes essais, j'arrive a sélectionner dans ma listview1 une ligne en cliquant sur la case a cocher.

(1) Je coche la case, la ligne passe surbrillance bleu et le film sélectionner démarre.

(2) Mais si je re-coche une autre ligne le nouveau film choisi démarre toujours

>>> MAIS la case précédente (reste cocher) MAIS pas la ligne.

Après essais pour effacer (la où les cases qui sont rester cocher SAUF bien sur la dernière sélection qui doit rester cocher et en surbrillance),.

-Il me manque ce test que je n'arrive pas a faire fonctionner

si quelqu'un veux bien m'aider, je l'en remercie par avance

PS: Je viens de m'apercevoir que lorsque je clic pour sélectionner vers le bas c'est bon
MAIS pas vers le haut ca coche seulement la case mais pas la ligne.

Donc encore un soucis pas prévu.

Bon réveillon a tous et merci

Cdlt Raymond

 
'### Sélection d'un film dans Listview1 par(ItemCheck)
Private Sub ListView1_ItemCheck(ByVal Item As MSComctlLib.ListItem)
Dim Chemin As String: Dim ListItem As ListItem: Dim i As Integer, Efface As Integer
Dim FilmSelection As String

For i = 1 To ListView1.ListItems.Count

If ListView1.ListItems(i).Checked = True Then

ListView1.ListItems(i).Selected = True

If ListView1.ListItems(i).Checked = False Then ListView1.ListItems(i).Checked = True

End If
Next i
FilmSelection = ListView1.ListItems.Item(ListView1.SelectedItem.Index)

'#################
'Efface les checkbox qui sont cochés SAUF celle qui est sélectionner
'Mais ca ne fonctionne pas

'For Efface = 1 To ListView1.ListItems.Count
' If ListView1.ListItems(Efface).Checked = True Then ListView1.ListItems(Efface).Checked = False
'Next Efface
'################

Label91.Caption = Left(FilmSelection, Len(FilmSelection) - 4) '& ".avi" 'Affiche titre du film a visionner sans extension .avi
WindowsMediaPlayer1.URL = "H:\" & FilmSelection 'Lance et visualise le film avec le nom complet

WindowsMediaPlayer1.Width = 240 'Largeur du WMP
WindowsMediaPlayer1.Height = 240 'Hauteur du WMP
WindowsMediaPlayer1.uiMode = "Full" 'Mode "Full Mini None Invisible"
End Sub

5 réponses

  1. gbinforme Messages postés 14930 Date d'inscription   Statut Contributeur Dernière intervention   4 744
     
    Bonjour,

    Il me semble que
    Selected
    serait mieux que
    Checked
    , non ?
    If ListView1.ListItems(Efface).Selected = False Then 
    ListView1.ListItems(Efface).Checked = False

    1
  2. f894009 Messages postés 17417 Date d'inscription   Statut Membre Dernière intervention   1 717
     
    Bonjour et meilleurs voeux a tous

    fichier modifie pour selection d'un seul film et une seule coche suivant selection par checkbox ou clic sur une ligne.
    Coche reste sur doubleclic et reste un seul film avec sa checkbox

    https://www.cjoint.com/c/GAclvOgsrff
    1
  3. vieuxray
     
    Salut a vous,

    Meilleurs vœux a vous également pour cette année 2017

    Merci a vous pour le code et pour le fichier je vais adapter
    a mon programme.

    Ca me parait bien cette affaire

    Encore merci bonne après midi a vous

    j'en ai du mal avec ce fichier LOL

    Cdlt Raymond
    0
  4. vieuxray
     
    Salut a vous

    Je suis sur mon programme depuis un moment a cause d'un soucis jamais arriver auparavant sur Excel 2007, le message s'affiche quand je charge ma listview.

    erreur d'éxécution 35602
    la clé n'ai pas unique

    Bien entendu j'ai regarder sur le net mais je comprends pas le problème

    si vous avez une idée a ce sujet et comment faire, je vous remercie d'avance pour votre aide.

    Cordialement Raymond
    0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. vieuxray
     
    salut a vous,

    J'ai trouver pour l'erreur

    j'ai une sub qui charge automatiquement la listview1 a l'ouverture du fichier

    par le lancement d'un Call InitListView

    et donc quand je rempli la listview en manu j'ai l'erreur comme la listview est déjà charger alors il en veut pas

    je pense qu'il faudrait effacer la listview avant de la recharger

    je paufine ca aujourd'hui

    bonne journée a vous et merci

    Cdlt Raymond
    0