PB sur controle ListView

D

DAVIDRUN

Guest
Bonsoir le forum,
J'ai un petit problème avec un contrôle LisrView;
quelques soit le mode d'affichage LIST ou REPORT
la première ligne (1er item) est selectionné à l'affichage du contrôle.
Cela me pose un problème car car j'ai une macro qui fait appel à la propriété Selected de l'item.
Comment faire en sorte que le 1er item ne soit selectionné par défaut?

Merci pour vos conseils.

DAVIDRUN
 
D

DAVIDRUN

Guest
Re Bonjour Yeahou,
J'ai répondu avant même d'essayer, ton instruction fonctionne bien
sur un LItBox ou ComboBox; par contre sur un ListView l'accés aux propriétés et aux méthodes est assez différend.
Je vais tenter de me dépatouiller, mais je risque d'y prendre un peu de temps, voire de ne pas y arriver.
Si quelqu'un connait bien ce contrôle, a t'il peut-être la solution à mon problème....

Merci d'avance

DAVIDRUN
 
M

michel

Guest
Re: Déselectionner les items d'une ListView

bonjour David , bonjour Yeahou

pour ne pas avoir d'item sélectionné lors de l'initialisation de la ListView tu peux utiliser

Set ListView1.SelectedItem = Nothing


Le 1er item apparaît toujours surligné lors de l'affichage mais la ligne est bien déselectionnée pour l'utilisation des macros . Pour un aspect d'esthetique et ne pas avoir le surlignage , tu peux dans ce cas assigner le focus sur un autre object de l'USF

ce qui donnerait lors de l'initialisation :

Set ListView1.SelectedItem = Nothing
CommandButton1.SetFocus



l'exemple joint te rappellera quelque chose …;o)


bon apres midi
MichelXld
 

Pièces jointes

  • Listview_exemple_V03.zip
    14.9 KB · Affichages: 259
D

DAVIDRUN

Guest
Bonsoir michel,

Je vois que le Ctrl Listview n'a aucun secret pour toi...
Merci encore pour ton intervention, finalement j'y suis parvenu à ma manière en ajoutant dans une boucle

For X = 1 To ListView1.ListItems.Count
..............instruction1
..............instruction2
ListView1.ListItems(X).Selected = False
Next

Ton code semble plus propre et évite de boucler sur tout les items;
je vais opter pour ta solution.
En outre, pour le surlignage la propriété HideSelection peut je crois me sortir d'affaire.
Comme tu vois, je suis en pleine découverte et j'en profite au passage pour en rajouter une petite couche dans le fichier ci-joint...
en clair, je souhaite éliminer une ligne de ma liste sous condition.
A priori, rien de bien compliqué mais mon code déconne un peu...

En tout cas merci d'avance d'y jeter un petit coup d'oeil.

Bonne journée,

DAVIDRUN
 

Pièces jointes

  • Remove_LIstView.zip
    19.9 KB · Affichages: 72
M

michel

Guest
bonjour David

pour supprimer des lignes de façon conditionnelle dans ton classeur , tu peux utiliser la methode ci dessous


Dim X As Integer
For X = ListView1.ListItems.Count To 1 Step -1

If ListView1.ListItems(X).SmallIcon <> Ico And ComboChoix <> "" Then
ListView1.ListItems.Remove X 'X est l'index de ligne à supprimer
End If

Next X


bonne journée
MichelXld
 

Statistiques des forums

Discussions
311 725
Messages
2 081 941
Membres
101 846
dernier inscrit
Silhabib