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
 

alias_2003

XLDnaute Occasionnel
Re : Lier deux listviews

Bonjour Si..., Pierre , le Forum,
Je reviens sur le fichier proposé par Si... !
J'ai bien compris ton code, mais j'aurais encore une question sur ton fichier : est-il possible de dessiner un scrollbar horizontal pour la L2 comme le scrollbar vertical que tu as ajouté ?
Merci beaucoup,
Amicalement
 
Dernière édition:

Si...

XLDnaute Barbatruc
Re : Lier deux listviews

Salut

La seconde liste contient déjà la barre de défilement horizontale, non ?

Ma proposition ne venait que de l’intérêt porté la question initiale et maintenant, ta dernière demande m’a orienté vers une toute autre idée : une seule liste et une barre horizontale qui réduit à 0 les largeurs de certaines colonnes (donc visiblement invisibles).
La programmation est plus légère (mais encore délicate avec ce type de contrôle ListView qui pose problème car d’une portabilité réduite).

J’en ai profité pour faire mon tatiak ;) dans le fichier en ajoutant des fonctions :
- Recherche par lettre, mot …
- Filtre par colonne puis contenu
- Tri par colonne avec effet bascule (clics sur titre)
- Retour à la feuille sur la ligne sélectionnée
Pour cette dernière, l’intérêt est de pouvoir modifier, compléter et même supprimer la ligne.
Les largeurs de colonne se changent directement avec la souris à partir des titres !

On peut inclure le travail de correction dans le formulaire en éditant les items à traiter avant de les modifier éventuellement.

Je n’ai pas mis d’explications mais, je les donnerais si c’est nécessaire.

Nota : je n’ai pas eu le temps de bien tester tout cela donc je reste à l’écoute … de ceux qui pourraient être intéressés par cette façon de traiter le sujet.
 

Pièces jointes

  • Listview colonnes visibles ou pas .xlsm
    47.6 KB · Affichages: 71

alias_2003

XLDnaute Occasionnel
Re : Lier deux listviews

Bonjour Si..., le Forum,
MERCI mille fois !!! C'est juste parfait !! Et très intelligent :) ! J'aurais du y penser....
Je n'ai pas encore examiner tout ton code (je voulais te remercier avant tout), mais je ne serais pas contre des explications, à l'occasion !
Je vais tester ton fichier et je me permettrai de revenir vers toi en cas de question !
Encore merci, merci et merci !!
Bonne soirée,
Amicalement
 

alias_2003

XLDnaute Occasionnel
Re : Lier deux listviews

Bonjour Si..., Pierre, le Forum,
Je reviens vers toi Si... après avoir essayé de remplacer la combobox Cb2 par une listbox... L'idée est de pouvoir filtrer la listview selon les items sélectionnés dans la listbox. Aurais-tu la gentillesse de m'aider à modifier le code ?
Merci beaucoup,
Bonne journée
Amicalement
 

Si...

XLDnaute Barbatruc
Re : Lier deux listviews

salut

voilà 2 exemples (jonglages entre clic, doubleclic, sélection ligne, sélection colonne).
Dans le premier tu as le contrôle ListBox à la place du contrôle ComboBox.

Nota : à l'initialisation du contrôle ListView, le tri de dates se fait selon le premier jour et non selon la date complète !
 

Pièces jointes

  • Listview colonnes visibles ou pas V2 .xlsm
    37.7 KB · Affichages: 51
  • Listview colonnes visibles ou pas V3 .xlsm
    43 KB · Affichages: 46

alias_2003

XLDnaute Occasionnel
Re : Lier deux listviews

Bonsoir Pierre, Si..., le Forum,
Vous êtes extraordinaires ! Merci !
@ Si... : une ultime question... Serait-il possible d'avoir une multisélection dans la listbox ?
@ Pierre : c'est incroyable ce que tu es capable de faire ! Je vais décortiquer ton code, mais je t'avoue avoir du mal à comprendre le code du module sql notamment... C'est dommage parce que c'est un outil puissant !
Merci à vous 2 et surtout, continuez à nous faire profiter de vos talents !
Merci pour tout,
Bonne soirée
 

Si...

XLDnaute Barbatruc
Re : Lier deux listviews

Salut

La fonction de filtre/sélection est modifiée (et codage simplifié) par rapport aux versions de novembre dernier pour mieux visualiser les conditions de filtre
Pierre

Est-ce normal ou est-ce moi qui utilise mal cette fonction* ?
Regarde la pièce jointe 959595

Je ne suis pas encore à l'aise*, avec SQL pour tout décripter et trouver rapidement le test qui permet d'éviter mon erreur.
*de niveau 00

Voici une autre proposition avec la liste (ListBox) des options en multi-sélection.
Nota : j'ai changé des noms de contrôle pour se repérer plus facilement.
 

Pièces jointes

  • Tatiak.jpg
    Tatiak.jpg
    42.3 KB · Affichages: 73
  • Listview colonnes visibles ou pas V4 .xlsm
    44.4 KB · Affichages: 52
  • Listview colonnes visibles ou pas V4 .xlsm
    44.4 KB · Affichages: 52

Woam

XLDnaute Nouveau
Bonjour Tatiak, Si..., Alias_2003,
Je suis nouveau sur le forum et je débute en vba.
Tatiak, le fichier de ton post #33 correspond presque totalement à mon besoin. Est-il possible d'ajouter une fenêtre de saisie de nouvelle ligne ? Est-il possible de modifier, supprimer des lignes?
Merci par avance,
A+
 

Woam

XLDnaute Nouveau
Bonsoir à tous,
Merci pour vos réponses et désolé du délai. J'essaie de comprendre le code Tatiak, mais ce n'est pas simple. J'ai ajouté un userform comme demandé par Tatiak.
Est-il possible d'ajouter des images dans la 1ère colonne et que l'userform s'affiche lorsque l'on clique sur l'image ?
Merci pour votre aide.
A+
 

Pièces jointes

  • Démo_ListData_v1.3.xlsm
    68.5 KB · Affichages: 59

alias_2003

XLDnaute Occasionnel
Bonjour à tous,
je relance le sujet : j'utilise le fichier proposé par Pierre. Je m'en sers également pour apprendre.
Ma question porte sur le redimensionnement des colonnes par l'utilisateur. Pierre m'a bien indiqué que le résultat n'était pas probant mais j'aurais savoir comment il avait fait pour obtenir ce redimensionnement !
* adaptation des largeurs => je renonce : du fait de la grande disparité de largeurs des contenus le rendu est affreux et encore moins lisible qu'avec des largeurs fixes et uniques. La définition de largeurs mini et maxi serait possible mais alourdit le code pour une amélioration de rendu qui reste à démontrer.
Merci beaucoup
Amicalement
 

Discussions similaires

Statistiques des forums

Discussions
311 727
Messages
2 081 962
Membres
101 852
dernier inscrit
dthi16088