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
A voir également:

5 réponses

gbinforme Messages postés 14946 Date d'inscription   Statut Contributeur Dernière intervention   4 724
 
Bonjour,

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

1
f894009 Messages postés 17277 Date d'inscription   Statut Membre Dernière intervention   1 713
 
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
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
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

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

Posez votre question
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