Régler individuellement la largeur des colonnes et les entêtes de cette ListView

Gedch

XLDnaute Occasionnel
Bonjour à tous

Je rencontre un problème pour adapter cette ListView à mon fichier.

J’aurai besoin de régler individuellement les largeurs des colonnes ce cette ListView
La largeur a été codée de façon très judicieuse par rapport aux largeurs des colonnes d’Excel si j’ai bien compris.
Mais si dans le dossier exemple, cela fonctionnait bien.
Dans mon fichier, dans la colonne « TYPE » je ne visualise que 2 caractères.
Et dans la colonne « $ », je me retrouve avec le même problème que celui que vous pouvez voir.

(Les largeurs dans le fichier joint sont exactement les mêmes que dans mon fichier d'origine)
(Bien que dans le fichier joint, le problème de la colonne "TYPE " ne se produit pas ???)

Je précise toutefois, bien que je ne vois pas de cause à effet, mon fichier est sous forme de tableau.

La colonne "Code" surtout la colonne "Libellé" est trop large, du coup la colonne "Rentrée n'apparait que partiellement

Si je modifie le "Coef" ; c’est toutes les largeurs des colonnes qui s’en trouvent bouleversées.
Je ne vois qu’une seule solution, adapter un codage de la largeur colonne par colonne
Mais je n’arrive pas à le faire.

Je rencontre aussi un autre problème, dans mon fichier d’origine, il n’y a pas de non de colonne
Je souhaiterais donc pouvoir rentrer directement les entêtes des colonnes.

Je suis donc à la recherche d’une aide
Merci d’avance

A+
 

Pièces jointes

  • Gedch- ListView Validation- v4 2.xlsm
    31.4 KB · Affichages: 70

Gedch

XLDnaute Occasionnel
Re : Régler individuellement la largeur des colonnes et les entêtes de cette ListVie

Bonjour Bebere

Merci pour ton aide
Mais en ce qui concerne la largeur des colonnes, malheureusement c'est plutôt pire, car dans la colonne "Type" je vois plus que un seul caractère
Pour la colonne "$", cela ne change pas grand chose.

Pour les entêtes, cela ne change évidement rien
Puisque comme je l'ai dit, dans mon tableau Excel je n'ai pas de ligne avec les noms des colonnes
Il me faut nécessairement rentrer par code ces Entêtes.


A+
 

Bebere

XLDnaute Barbatruc
Re : Régler individuellement la largeur des colonnes et les entêtes de cette ListVie

bonjour à tous
dans le code,les entêtes c'est B1:I1,1ère ligne de tablo
si tu veux entre d'autres entêtes,dis lesquels
tu peux entrer les données comme suit
For i = 2 To UBound(Tablo)
If Tablo(i, 7) = Filtre Then
.ListItems.Add , , Tablo(i, 1)
n = .ListItems.Count
For j = 2 To UBound(Tablo, 2)
.ListItems(n).ListSubItems.Add , , Tablo(i, j)
Next j
End If
Next i
TextBox4 = .ListItems.Count
 

mapomme

XLDnaute Barbatruc
Supporter XLD
Re : Régler individuellement la largeur des colonnes et les entêtes de cette ListVie

Bonjour à tous,

Les en-têtes personnalisés sont à saisir dans le code au moyen de la constante entete vers le début du code.
Code:
Const entete = "Dates,,Type,Code,Libellé,Dépense,*,Rentrée"

J'ai repris l'ancien fichier v4 qui fonctionnait. Je n'ai pas eu le temps de voir pourquoi ton dernier fichier merdouille :(
 

Pièces jointes

  • Gedch- ListView Validation- v5.xlsm
    31 KB · Affichages: 74

Gedch

XLDnaute Occasionnel
Re : Régler individuellement la largeur des colonnes et les entêtes de cette ListVie

Bonjour Bebere

Pour mieux me faire comprendre, je renvoie mon fichier
J'ai remplacé une partie du code par celui que tu m'as donné dans ton 1er post
Je fais état à l'intérieur du fichier des problèmes rencontrés
De plus ils vont être visibles en actionnant la ListView

Mes entêtes sont les mêmes que ceux indiqués dans mon exemple
Sauf que dans mon fichier, il ne sont pas présent, c'est pourquoi il me les faut rentrer manuellement
Je les ai effacés pour que cela soit plus claire
Ils sont donc :
1ère Colonne : Dates
2ème
3ème : Type
4ème : Code
5ème : Libellé
6ème : Dépense
7ème : *
8ème : Rentrée


Pour ton dernier code, j'avoue que je ne sais pas trop quoi en faire ???

Merci encore pour ton aide
et A+
 

Pièces jointes

  • Gedch- ListView Validation- v4 2b.xlsm
    32.8 KB · Affichages: 51
Dernière édition:

Gedch

XLDnaute Occasionnel
Re : Régler individuellement la largeur des colonnes et les entêtes de cette ListVie

Bonjour Mapomme

Merci tu viens de résoudre mon problème d'entêtes !

Par contre mes problèmes de largeur de colonnes ne sont pas résolus
Pour me faire comprendre je te renvoie ton fichier dans lequel j'ai formaté les largeurs des colonnes à la taille réelle de celle de mon fichier
Dans la colonne Type de la ListView le mot "CARD" n'apparait pas en entier
(Les texte de cette colonne n'a pas besoin d'être centré)
Dans la colonne "*" le caractère "$" apparait comme ceci "$.." (Largeur trop faible)

Je viens de me rendre compte aussi que si le nombre de ligne dépasse la capacité d'affichage de l'UserForm
Je suis confronté au problème de l'ascenseur qui va venir cacher les nombres...
 

Pièces jointes

  • Copie de Gedch- ListView Validation- v5 (Largeurs Colonnes Réelles).xlsm
    26.7 KB · Affichages: 45

Bebere

XLDnaute Barbatruc
Re : Régler individuellement la largeur des colonnes et les entêtes de cette ListVie

bonjour Mapomme
Gedch,içi le code est bon
à voir de ton côté
 

Pièces jointes

  • Gedch- ListView Validation- v6 (Largeurs Colonnes Réelles).xlsm
    34.9 KB · Affichages: 50

Gedch

XLDnaute Occasionnel
Re : Régler individuellement la largeur des colonnes et les entêtes de cette ListVie

Re

Je ne comprends pas bien, tu me dis que le code est bon et pourtant les problèmes sont toujours présent d'ans l'affichage ???
Je suppose que tu as activé la ListView ?

A+
 

Si...

XLDnaute Barbatruc
Re : Régler individuellement la largeur des colonnes et les entêtes de cette ListVie

Salut

une version en jouant sur les 2 tableaux.

Attention à l’utilisation du caractère *. Je l’ai remplacé par le
J'ai complété avec les sous totaux.

mapomme, je n’ai pas utilisé le IIf (merci pour l’info :D)

Je n'ai pas regardé les dernières propositions.
 

Pièces jointes

  • ListView Recherche Couleurs.xlsm
    31.9 KB · Affichages: 48

Gedch

XLDnaute Occasionnel
Re : Régler individuellement la largeur des colonnes et les entêtes de cette ListVie

Bonjour Si...

Merci pour ton aide
Je viens de reformater les colonnes du fichier pour les mettre à la même largeur que celles de mon fichier de destination
Comme je l'avais fait avec celui de MaPomme.

Une fois cela fait, je constate malheureusement les mêmes problèmes d'affichage.

Je ne sais pas si vous visualisez bien le problème
Aussi pour faciliter, je joins une copie d'écran de chacune de vos ListView

Il est à noter aussi, qu'une fois les noms des colonnes supprimés dans le tableau
Je n'ai plus les entêtes dans ma ListView.

Je précise aussi qu'avec la configuration de mon fichier
Je peux pas mettre de nom dans mes entêtes de colonnes
Je ne peux absolument pas changer la largeur de mes colonnes.

A+
 

Pièces jointes

  • ListView Validation Si (Largeurs Colonnes Réelles).xlsm
    33.3 KB · Affichages: 48
  • ListView Si.jpg
    ListView Si.jpg
    56.6 KB · Affichages: 99
  • ListView MaPomme.jpg
    ListView MaPomme.jpg
    61.7 KB · Affichages: 76

Si...

XLDnaute Barbatruc
Re : Régler individuellement la largeur des colonnes et les entêtes de cette ListVie

re

Sur ta feuille, copie les noms des titres voulus dans la ligne des titres du Tableau.

Maintenant, pour les largeurs des colonnes, seront-elles variables d’un fichier à un autre ?

Si non, on peut fixer les noms de titres des colonnes et leur largeur (ainsi que bien d’autres choses) dans les propriétés du contrôle.
ListView Propriétés.jpg
 

Gedch

XLDnaute Occasionnel
Re : Régler individuellement la largeur des colonnes et les entêtes de cette ListVie

Re

Sur ta feuille, copie les noms des titres voulus dans la ligne des titres du Tableau.
Je ne peux pas comme je l'ai précisé, car je les ai utilisés pour d'autres données
C'est pour cela que je souhaite les rentrer par du code, comme l'a fait MaPomme

pour les largeurs des colonnes, seront-elles variables d’un fichier à un autre ?
Pour l'instant je n'utilise cette ListView que dans un seul fichier
Mais il se peut que je sois amené à l'utiliser pour d'autres fichiers, donc avec des largeurs de colonnes différentes
C'est pour cela que je préfère paramétrer manuellement les tailles des colonnes par du code

Comme par exemple avec ce type de code
Code:
.Add , , "Dates", 70
Qui est utilisé dans un autre ListView, qui fonctionne parfaitement, mais je ne suis pas en capacité de programmer dans cette ListView

Si non, on peut fixer les noms de titres des colonnes et leur largeur (ainsi que bien d’autres choses) dans les propriétés du contrôle
Je n'ai malheureusement pas accès à ces propriétés, je m'étais déjà penché sur la question, mais je n'ai jamais pu trouver de solution. (Voir message d'erreur joint)

A+
 

Pièces jointes

  • Message.jpg
    Message.jpg
    31.2 KB · Affichages: 64

Si...

XLDnaute Barbatruc
Re : Régler individuellement la largeur des colonnes et les entêtes de cette ListVie

re
Re
...
Je n'ai malheureusement pas accès à ces propriétés, je m'étais déjà penché sur la question, mais je n'ai jamais pu trouver de solution. (Voir message d'erreur joint)
...
A+
C’est toujours le même problème que celui de l’implantion d’un contrôle en fonction de la version.

Ce message indique que sur la machine, avec sa version d’Excel, ListView n’est pas disponible ou, que l'OCX installé est d’une autre version. Dans ce dernier cas changer cette version mais, il m’est arrivé, qu’en supprimant le contrôle ListView fourni et en l’insérant de nouveau, il était opérationnel.

De toutes façons, voici un autre exemple où les titres et les formats des colonnes sont pris dans des tableaux (Array en VBA) et les largeurs calculées.
Nota : j'ai remplacé le tableau de la feuille par une plage nommée mais les titres étaient déjà prévus.
 

Pièces jointes

  • ListView Recherche Couleurs V2.xlsm
    32 KB · Affichages: 63

Gedch

XLDnaute Occasionnel
Re : Régler individuellement la largeur des colonnes et les entêtes de cette ListVie

Bonsoir Si.

Je te remercie à nouveau pour ton aide

Ce message indique que sur la machine, avec sa version d’Excel, ListView n’est pas disponible ou, que l'OCX installé est d’une autre version. Dans ce dernier cas changer cette version mais, il m’est arrivé, qu’en supprimant le contrôle ListView fourni et en l’insérant de nouveau, il était opérationnel.
Comme je l'ai dit j'ai déjà fait dans le passé des tas d'essais, au pire je me retrouve sans ListView du tout, au mieux comme ceci.
C'est bien dommage, mais je ne vois pas ce que je peux faire de plus
J'ai même réinstallé mon OS depuis (pas pour cela!) et à la réinstallation de Excel, je me suis retrouvé avec ce même problème persistant.
Jusqu'ici j'ai toujours trouvé le moyen de m'en passer...

Pour les Entêtes c'est Ok, puisqu'ils sont rentrés en code

Par contre pour les largeurs, s'il s'agit de régler la largeur en remplaçant la valeur de Lg, c'est la catastrophe
Car pour voir tout le libellé en entier, je vais être obliger d'augmenter considérablement ce nombre, et je vais me retrouver avec des largeurs épouvantables pour les colonnes comme celle du signe Dollar.
Mais je n'ai peut-être pas bien compris la méthode ??

A+
 

Discussions similaires

Statistiques des forums

Discussions
311 725
Messages
2 081 940
Membres
101 845
dernier inscrit
annesof