Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Listview : sélection d'une ligne (surbrillance) par le code

4 réponses
Avatar
Etienne
Bonjour

J'ai inséréer un Listview dans un formulaire access (Microsoft Listview
control 6.0 (SP4)
Comment peut on mettre une ligne en surbrillance par le code

D'avance, merci
Etienne

4 réponses

Avatar
Raymond [mvp]
Bonjour.

il faut que ce soit la ligne sélectionnée et charger True dans la propriété
FullRowSelect
LaListe.FullRowSelect = True

voir base exemple sur : http://officesystem.access.free.fr/listview.htm
--
@+
Raymond Access MVP http://www.OfficeSystemAccess.com/
http://officesystem.access.over-blog.com/
http://officesystem.access.free.fr/wiki/
Pour débuter sur le forum: http://www.mpfa.info/

Venez découvrir Open XML, le nouveau format de fichier de la suite Office !
http://www.comscamp.com/Tracker/Redirect.ashx?linkidÿ71c7f3-78e8-4371-abaf-b73c259e58db


"Etienne" a écrit dans le message de news:

| Bonjour
|
| J'ai inséréer un Listview dans un formulaire access (Microsoft Listview
| control 6.0 (SP4)
| Comment peut on mettre une ligne en surbrillance par le code
|
| D'avance, merci
| Etienne
Avatar
Etienne
Merci pour la réponse, j'ai téléchargé et lu votre exemple de listview qui
est très bien fait, et tres utile.
Mais ce que je cherche à faire c'est mettre une ligne en surbrillance sans
cliquer avec la souris, mais avec VBA (à partir du numéro de la clé de la
ligne, sur un évenement)

A propos de votre exemple, il y a quelque chose que je ne comprend pas.
Pourquoi faut il déclarer "Dim LaListe As Control " , et pourquoi ne peut-on
pas manipuler Vueliste (qui est le controle) directement (par exemple porquoi
faire Set LaLigne = LaListe.ListItems.Add() et non pas Set LaLigne =
VueListe.ListItems.Add())

Pourquoi faire :Set LaListe = Me.VueListe ?

Et pourquoi quand je veux écrire par exemple "VueListe.Sorted = True" , vba
ne m'affiche pas tous les membres de la classe Listview (Sorted, Seleteditem,
smallicons etc.) alors que dans "outil" "référence" j'ai bien MSCOMCTL.ocx
Avec Excel on accede bien à toute la biblioteque.
Voir http://silkyroad.developpez.com/VBA/ListView/
très bon exemple

Bref, beaucoup de question en une. Merci d'avance pour votre aide

Etienne



Bonjour

J'ai inséréer un Listview dans un formulaire access (Microsoft Listview
control 6.0 (SP4)
Comment peut on mettre une ligne en surbrillance par le code

D'avance, merci
Etienne


Avatar
Raymond [mvp]
RE.

Je passe par un objet explicite, pour la première, excellente et
indispensable raison que l'exemple doit être portable sur toutes les
applications avec le même nom d'objet quel que soit le nom du ou des
contrôles listview. le listview créé n'a jamais le même nom et l'utilisateur
doit pouvoir utiliser cet exemple sans changer les noms.
quand à la compatibilité access, excel, vb6 et autres, je crois avoir
répondu dans l'autre conversation à ce sujet.
pour l'affichage tronqué des propriétés, cela arrive pour certains objets,
ce qui n'empêche pas de les utiliser et de fonctionner correctement. dans ce
cas, lancer immédiatement une compilation après avoir tapé la ligne pour
voir ce que donne l'exécution.

--
@+
Raymond Access MVP http://www.OfficeSystemAccess.com/
http://officesystem.access.over-blog.com/
http://officesystem.access.free.fr/wiki/
Pour débuter sur le forum: http://www.mpfa.info/

Venez découvrir Open XML, le nouveau format de fichier de la suite Office !
http://www.comscamp.com/Tracker/Redirect.ashx?linkidÿ71c7f3-78e8-4371-abaf-b73c259e58db


"Etienne" a écrit dans le message de news:

| Merci pour la réponse, j'ai téléchargé et lu votre exemple de listview qui
| est très bien fait, et tres utile.
| Mais ce que je cherche à faire c'est mettre une ligne en surbrillance sans
| cliquer avec la souris, mais avec VBA (à partir du numéro de la clé de la
| ligne, sur un évenement)
|
| A propos de votre exemple, il y a quelque chose que je ne comprend pas.
| Pourquoi faut il déclarer "Dim LaListe As Control " , et pourquoi ne
peut-on
| pas manipuler Vueliste (qui est le controle) directement (par exemple
porquoi
| faire Set LaLigne = LaListe.ListItems.Add() et non pas Set LaLigne | VueListe.ListItems.Add())
|
| Pourquoi faire :Set LaListe = Me.VueListe ?
|
| Et pourquoi quand je veux écrire par exemple "VueListe.Sorted = True" ,
vba
| ne m'affiche pas tous les membres de la classe Listview (Sorted,
Seleteditem,
| smallicons etc.) alors que dans "outil" "référence" j'ai bien MSCOMCTL.ocx
| Avec Excel on accede bien à toute la biblioteque.
| Voir http://silkyroad.developpez.com/VBA/ListView/
| très bon exemple
|
| Bref, beaucoup de question en une. Merci d'avance pour votre aide
|
| Etienne
|
Avatar
Etienne
Merci Raymond , avec les réponses du messages sur le sujet Listview du 11/07,
j'ai bien mieux compris.

Au fait par rapportà ma première question, dont on a plus parlé : comment
sélectionner une ligne à partir de VBA (sans clic de souris) ?, voici la
réponse que j'ai trouvé dans
http://silkyroad.developpez.com/VBA/ListView/

ListView1.ListItems(NumeroDeLaLigne).EnsureVisible
ListView1.ListItems(NumeroDeLaLigne).Selected = True
ListView1.SetFocus

Après il fait se débrouiller pour trouver le bon numéro de ligne
correspondant à la ligne recherchée

Etienne



RE.

Je passe par un objet explicite, pour la première, excellente et
indispensable raison que l'exemple doit être portable sur toutes les
applications avec le même nom d'objet quel que soit le nom du ou des
contrôles listview. le listview créé n'a jamais le même nom et l'utilisateur
doit pouvoir utiliser cet exemple sans changer les noms.
quand à la compatibilité access, excel, vb6 et autres, je crois avoir
répondu dans l'autre conversation à ce sujet.
pour l'affichage tronqué des propriétés, cela arrive pour certains objets,
ce qui n'empêche pas de les utiliser et de fonctionner correctement. dans ce
cas, lancer immédiatement une compilation après avoir tapé la ligne pour
voir ce que donne l'exécution.

--
@+
Raymond Access MVP http://www.OfficeSystemAccess.com/
http://officesystem.access.over-blog.com/
http://officesystem.access.free.fr/wiki/
Pour débuter sur le forum: http://www.mpfa.info/

Venez découvrir Open XML, le nouveau format de fichier de la suite Office !
http://www.comscamp.com/Tracker/Redirect.ashx?linkidÿ71c7f3-78e8-4371-abaf-b73c259e58db


"Etienne" a écrit dans le message de news:

| Merci pour la réponse, j'ai téléchargé et lu votre exemple de listview qui
| est très bien fait, et tres utile.
| Mais ce que je cherche à faire c'est mettre une ligne en surbrillance sans
| cliquer avec la souris, mais avec VBA (à partir du numéro de la clé de la
| ligne, sur un évenement)
|
| A propos de votre exemple, il y a quelque chose que je ne comprend pas.
| Pourquoi faut il déclarer "Dim LaListe As Control " , et pourquoi ne
peut-on
| pas manipuler Vueliste (qui est le controle) directement (par exemple
porquoi
| faire Set LaLigne = LaListe.ListItems.Add() et non pas Set LaLigne > | VueListe.ListItems.Add())
|
| Pourquoi faire :Set LaListe = Me.VueListe ?
|
| Et pourquoi quand je veux écrire par exemple "VueListe.Sorted = True" ,
vba
| ne m'affiche pas tous les membres de la classe Listview (Sorted,
Seleteditem,
| smallicons etc.) alors que dans "outil" "référence" j'ai bien MSCOMCTL.ocx
| Avec Excel on accede bien à toute la biblioteque.
| Voir http://silkyroad.developpez.com/VBA/ListView/
| très bon exemple
|
| Bref, beaucoup de question en une. Merci d'avance pour votre aide
|
| Etienne
|