Lier deux listviews

alias_2003

XLDnaute Occasionnel
Bonjour à tous,
J'ai un nouveau problème à vous soumettre... Dans mon fichier (https://www.excel-downloads.com/threads/listview.20002294/) (Merci Pierre !!), j'ai un userform qui contient une listview. Cette listview possède beaucoup de colonne et pour faciliter l'utilisation du fichier, j'aurais besoin que les 4 premières colonnes restent visible lorsque l'utilisateur se balade dans la listview avec le scroll horizontal... Mes recherches sur le net m'indiquent que ce n'est pas possible.
Je pensais donc séparer ma listview en 2 : la première listview contiendrait les 4 premières colonnes, la deuxième les autres autres colonnes !
C'est loin d'être simple, car je dois synchroniser les 2 listviews lorsque l'utilisateur utilise le scroll vertical sur l'une ou l'autre des listviews... A priori, c'est possible avec les APIs. C'est largement au delà de mes compétences, mais si l'un d'entre vous a une solution, ça m'aiderait énormément :) !
Merci beaucoup,
Bonne soirée
 

roro69

XLDnaute Impliqué
Re : Lier deux listviews

Bonsoir a voir
A essayer avec l’événement beforeupdate
'ici la listview1
Private Sub ListView1_BeforeUpdate(ByVal Cancel As MSForms.ReturnBoolean)
Dim L1 As ListView
Dim L2 As ListView
Set L1 = Me.ListView1
Set L2 = Me.ListView2
L2.SelectedItem(L1.SelectedItem) = True
End Sub
A voir je n'ai pas essayé
A++
 

alias_2003

XLDnaute Occasionnel
Re : Lier deux listviews

Bonjour roro69, Pierre, le Forum,
Merci beaucoup de vos réponses !
Roro69, bonne idée, mais le souci est que lorsque l'utilisateur utilise l'ascenseur sans sélectionner une ligne, les 2 listviews ne sont pas synchro !

Tatiak : ta proposition est très très intéressante ! Je pense m'orienter vers cette solution, mais j'ai plusieurs questions :
*est-il possible d'ajouter une image dans une ListData ? Dans ton fichier de démo, j'ai ajouté une colonne image et selon la valeur de la cellule de cette colonne, j'aimerai ajouter une image A ou B (pour reproduire l'imagelist de la listview)
* comment puis-je appliquer la recherche telle que celle que tu avais réalisée dans un de mes posts précédents (il s'agit du même fichier) (https://www.excel-downloads.com/threads/listview.20002294/) ??

Merci beaucoup !
Bonne journée ;)
 

alias_2003

XLDnaute Occasionnel
Re : Lier deux listviews

Re-,
Je vais t'embêter tout de suite...
* Serait-il possible d'ajouter la possibilité de sélectionner toute la ligne quand on clique sur une cellule ?
* Serait possible de rendre impossible la modification du tableau ?
* Pour l'ajout d'image, penses-tu qu'il soit possible de les images soient directement dans le fichier ? De plus, serait-il possible que l'image s'affiche si le texte (del ou ok) est dans la cellule, mais sans que le texte lui-même s'affiche ?

Désolé d'être embêtant à ce point... Mais ton fichier est vraiment excellent et tout semble réalisable !
Merci beaucoup
A+
 

Si...

XLDnaute Barbatruc
Re : Lier deux listviews

salut


j'ai un userform qui contient une listview. Cette listview possède beaucoup de colonne et pour faciliter l'utilisation du fichier, j'aurais besoin que les 4 premières colonnes restent visible lorsque l'utilisateur se balade dans la listview avec le scroll horizontal... Mes recherches sur le net m'indiquent que ce n'est pas possible.
Je pensais donc séparer ma listview en 2 : la première listview contiendrait les 4 premières colonnes, la deuxième les autres autres colonnes !
C'est loin d'être simple, car je dois synchroniser les 2 listviews lorsque l'utilisateur utilise le scroll vertical sur l'une ou l'autre des listviews... A priori, c'est possible avec les APIs. C'est largement au delà de mes compétences, mais si l'un d'entre vous a une solution, ça m'aiderait énormément :) !
Indépendamment du bon travail de Tatiak :D, un essai avec le conrôle ListView et sans API... (pas de tri traité pour l'instant).
 

Pièces jointes

  • 2-Listview .xlsm
    35.2 KB · Affichages: 97

alias_2003

XLDnaute Occasionnel
Re : Lier deux listviews

Bonjour Si...
Alors là wouah !! C'est excellent !!
Par contre, je n'ai pas compris le code, pourrais-tu à l'occasion le commenter ?

@ Pierre : je reste très intéressé par la solution Listdata qui offre d'autres possibilités !

Je n'ai que l'embarras du choix !
MERCI très sincèrement de votre aide !
 
Dernière édition:

alias_2003

XLDnaute Occasionnel
Re : Lier deux listviews

MERCI Pierre :eek: !!
Extraordinaire ! Je complique encore la demande... : pourrais-tu appliuer à ce même fichier la fonction recherche ou dois-je m'orienter ver une autre solution pour cela ?
Enfin, te serait-il possible de commenter ton code afin que je comprenne comment tout ça fonctionne ?
Merci beaucoup
A+
 

alias_2003

XLDnaute Occasionnel
Re : Lier deux listviews

C'est parfait à 99.99% !!
Lorsque je filtre les données, les images des lignes filtrées ne sont pas supprimées, je ne suis pas sûr d'être clair... Dis moi !
Deux autres fonctionnalités qui pourraient être sympa sont :
* la possibilité de trier les données en cliquant sur l'en-tête de la colonne
* la possibilité modifier la taille des colonnes (celle-ci risque d'être compliquée...)
Merci beaucoup !
A+

Edit : je corrige, parfait à 100%, j'ai ajouté l'appel à la macro "raz" dans le code !
 
Dernière édition:

alias_2003

XLDnaute Occasionnel
Re : Lier deux listviews

Bonsoir (ou bonjour),
Je rencontre déjà un souci lors de l'adaptation du fichier à mon fichier de travail : ce problème est lié aux en-têtes... Pourtant, ils n'ont pas d'espace... Y a-t-il d'autres conditions pour les en-têtes ?
Merci beaucoup !

Edit : Problème résolu !!
 
Dernière édition:

alias_2003

XLDnaute Occasionnel
Re : Lier deux listviews

Bonjour Pierre, le Forum

Version de ce matin avec quelques corrections et :
* fonction de tri au clic sur une entête (prenant en compte le scroll horizontal) : un clic tri ascendant, clic suivant tri descendant, et ensuite en alternance ...
* rétablissement fonction export de la sélection
G.É.N.I.A.L !!!!
Pour les en-têtes, je suis reparti de 0 et tout semble ok maintenant !

As-tu besoin de la fonction total des colonnes numériques?
Je ne pense pas !

Est-ce que l'augmentation standard de la largeur des colonnes suffit ou faut-il les ajuster selon les contenus?
L'idéal serait l'adaptation au contenu...

Deux autres points importants pour l'adaptation à mon fichier réél :
* lorsqu'une ligne est sélectionnée, serait-il possible de transférer le contenu de la colonne 3 dans la combobox11, présente dans mon fichier ? De la même façon, le choix de la combobox11 peut-il permettre la sélection de la ligne correspondante ?
* lorsqu'une ligne est sélectionnée, serait-il possible que l'on ne perde pas la sélection en cas d'utilisation des scrollbars ?

Merci beaucoup Pierre :eek:
A+
 

alias_2003

XLDnaute Occasionnel
Re : Lier deux listviews

Merci beaucoup Pierre !
Ok,
* lorsqu'une ligne est sélectionnée, serait-il possible que l'on ne perde pas la sélection en cas d'utilisation des scrollbars
=> ben oui, en fait j'avais pô vu ce défaut
Merci, ça fontionne parfaitement avec le scroll horizontal, mais pas le vertical !

lorsqu'une ligne est sélectionnée, serait-il possible de transférer le contenu de la colonne 3 dans la combobox11
Ca fonctionne nickel !

* le choix de la combobox11 peut-il permettre la sélection de la ligne correspondante ?
Le souci est que la valeur dans la combobox peut être associé à plusieurs lignes, comme dans le fichier exemple, l'employé est associé à plusieurs clients... J'aurais aimé que soit sélectionnée la première ligne de la colonne3 de la listdata contenant la valeur choisie dans la combobox11. Pas évident, tout ça !

* pour l'adaptation des largeurs, je regarde c't'aprèm ... il pleut
Pas de chance...

Bon appétit à tous !
 

Discussions similaires

Statistiques des forums

Discussions
312 201
Messages
2 086 164
Membres
103 149
dernier inscrit
Deepkneec