filtre dans une listview

pascal21

XLDnaute Barbatruc
bonjour le forum
j'ai trouvé ce bout de code qui me permet enfin, d'avoir quelque chose d'écrit dans ma listview
****************
Code:
Dim rg As Range
Dim n As Integer, i As Integer

Set rg = [A4]   'ligne avec les titres
n = 4   'nb de colonnes de données

With Me.ListView1
'ajout des titres de colonnes
For i = 1 To n
.ColumnHeaders.Add , , rg.Offset(0, i - 1)
Next i

'ajout des éléments de la 1re colonne
Set rg = [A4]   '1re ligne avec les données
Do Until IsEmpty(rg)
.ListItems.Add , , rg
'ajout des éléments des autres colonnes
For i = 1 To n
.ListItems(rg.Row - 3).ListSubItems.Add , , rg.Offset(0, i)
Next i
Set rg = rg.Offset(1, 0)    'prochaine ligne
Loop

.FullRowSelect = True   'permet de choisir une ligne complète
.MultiSelect = True     'permet de sélectionner plusieurs lignes
.View = lvwReport       'format d'affichage des données
End With
******************
en plus il est simple de conception et pour moi assez compréhensible
mais j'aimerais que la colonne 2 n'affiche que les résultats issues de la cellule B3
il y a pleins de choses sur le net sur le sujet, mais rien que je n'arrive à transcrire et à faire fonctionner avec ce code
il y aussi que je n'arrive pas avec ce code à afficher les colonnes A. B. C. D et la colonne I sans afficher les colonnes intermédiaires qui sont des colonnes 'techniques' masquées et qui n'ont pas d'utilité dans la listview
il ma manque aussi l'instruction pour raffraichir la listview après avoir ajouté des nouvelles données
a chaque rajout la liste complête se rajoute en dessous sans raffraichir
j'ai essayé divers trucs trouvés par çi par là mais ça fonctionne pas
ou alors je ne le place pas où il faut
avez-vous une solution?
merci pour votre aide précieuse
 
Dernière édition:

ChTi160

XLDnaute Barbatruc
Bonjour Pascal
Bonjour le fil ,Le Forum
je pense qu'il serait bon que tu mettes un fichier exemple de ce que tu as et de ce que tu veux (fichier sans données confidentielles)
dans l'attente ;
Bonne journée
Amicalement
Jean Marie
 

pascal21

XLDnaute Barbatruc
bonjour Jean Marie
oui je l'avais préparé mais oublié de le mettre
petite précision, un simple unload userform1 suivi de userform1.show ne convient pas car sur mon fichier il y a une procédure de mot de passe que je ne veux pas que l'utilisateur soit obligé de refaire à chaque saisie d'une nouvelle ligne tant qu'il reste sur l'userform1
edit: je ne suis pas spécialement fixé sur ce code si vous avez une autre solution pas compliquée à installer je prends aussi, d'autant plus que celui-ci n'a rien pour configurer la largeur des colonnes, celle de la colonne C en particulier qui à besoin de plus de place que celle par defaut
merci
 

Pièces jointes

  • essai filtrage listview colonne B.xlsm
    27.5 KB · Affichages: 41

pascal21

XLDnaute Barbatruc
merci Jean Marie, réponse très pertinente et très rapide
juste une erreur si la liste en est au début (vide) j'ai index out of bound ou quelque chose comme çà
je vais placer un on error resume next on verra bien
j'y crois pas trop mais enfin
c'est bon j'ai rectifié en fait je me suis arrangé pour que la première ligne ne soit pas vide
et çà fonctionne
bonne journée et encore merci
 
Dernière édition:

ChTi160

XLDnaute Barbatruc
Re
quelle premier ligne
Dis moi quelle est la première ligne a prendre en compte lorsque le tableau est vide ?
ou alors si La dernière ligne détectée est la ligne d’entêtés on quitte la procédure un truc du Genre

VB:
Derlgn=.cells(.Rows.count,1).End(xlUp).row
if Derlgn=4 then Exit Sub

Bonne journée
Amicalement
Jean Marie
 
Dernière édition:

TooFatBoy

XLDnaute Barbatruc
Bonjour,

Tout d'abord, pardon pour le squatte de ce thread, mais j'ai juste une petite question.

J'ai l'impression que ce contrôle ListView est beaucoup plus complet que ListBox, donc j'ai voulu l'utiliser, mais je ne l'ai pas. :(
J'ai alors cherché (sur le Net et sur ce forum) et j'ai cru comprendre qu'il fallait avoir mscomct2.ocx (version 64 bits, ça existe ???) dans C:\Windows\SysWOW64 et le "déclarer" dans la base de registres.
Je veux bien tenter ça, mais malgré mes recherches sur le Net (une bonne partie de la nuit et toute la matinée), je n'arrive pas à trouver ce fichier. :(

Est-ce bien grâce à ce fichier que j'aurais enfin le contrôle ListView ?
Est-ce que quelqu'un aurait un lien, s'il vous plait ?

PS : je suis sous Windows 7 Pro 64 bits avec Excel 2013 64 bits.
 

pascal21

XLDnaute Barbatruc
Bonjour,

Tout d'abord, pardon pour le squatte de ce thread, mais j'ai juste une petite question.

J'ai l'impression que ce contrôle ListView est beaucoup plus complet que ListBox, donc j'ai voulu l'utiliser, mais je ne l'ai pas. :(
J'ai alors cherché (sur le Net et sur ce forum) et j'ai cru comprendre qu'il fallait avoir mscomct2.ocx (version 64 bits, ça existe ???) dans C:\Windows\SysWOW64 et le "déclarer" dans la base de registres.
Je veux bien tenter ça, mais malgré mes recherches sur le Net (une bonne partie de la nuit et toute la matinée), je n'arrive pas à trouver ce fichier. :(

Est-ce bien grâce à ce fichier que j'aurais enfin le contrôle ListView ?
Est-ce que quelqu'un aurait un lien, s'il vous plait ?

PS : je suis sous Windows 7 Pro 64 bits avec Excel 2013 64 bits.
bonjour je suis sous windows 7 famillial 64 bits et excel 2007 et je n'ai pas de problème
après, le classeur que je suis entrain de faire n'est pas pour mon pc
je ne sais pas encore quelle configuration ça sera j'espère que ça fonctionnera parce-que sinon l'informaticien va avoir du boulot pour retranscrire
après tout je fais son boulot là!!!!! même si c'est moi qui ai lancé l'idée
 

TooFatBoy

XLDnaute Barbatruc
Bonjour Shakki,

Merci pour ta réponse :), mais ce fichier là je l'ai déjà et apparemment ce n'est pas le bon pour pouvoir utiliser ListView car je suis tout en 64 bits.
Ce que je voudrais, c'est juste un lien fiable vers le fichier mscomct2.ocx (que je n'arrive pas à trouver), pour pouvoir tester.

Je pense que ça va être plus long que je ne l'imaginais au départ, donc il vaudrait mieux que j'ouvre un thread pour cela plutôt que de continuer de parasiter celui-ci.
 

ChTi160

XLDnaute Barbatruc
Re
Je pense que tu devrais trouver la réponse à ton problème sur le Forum
(question souvent traitée)
moi je suis sous Windows 10 et Office 2010 (32) préférable à (64) ce que je crois avoir compris lors de mon installation d'Office
Bonne fin de Journée
Amicalement
Jean Marie
 

TooFatBoy

XLDnaute Barbatruc
Oui, j'ai aussi vu que tout le monde préconise la version 32 bits, mais c'est hélas la version 64 bits qui est installée sur mon PC (d'où mon problème, je pense).
J'ai bien vu sur le forum différents threads qui parlent de ça, mais en général c'est pour des Windows 32 bits, ou alors le lien ne marche plus.

Bon, ce n'est pas grave. Je vais pour l'instant rester avec mes ListBox. ;)


Merci à vous d'avoir essayé de m'aider, et pardon Pascal21 pour le squatte de ton thread.
 

Discussions similaires

Réponses
11
Affichages
424

Membres actuellement en ligne

Statistiques des forums

Discussions
312 105
Messages
2 085 350
Membres
102 870
dernier inscrit
Armisa