Listview selon certains critères

osiris150

XLDnaute Occasionnel
Bonjour le forum !

Je viens solliciter votre aide pour m'aider à résoudre un problème que je suis incapable de résoudre par moi-même.
Voilà j'ai 2 fichiers : 1 qui s'appelle "test" et l'autre "Base de données Promotion"
Lorsqu'on ouvre le fichier "test" et que l'on clique sur le camion, cela ouvre un userform. On clique sur le bouton "consultations échantillons" et là ouvre une listview qui fait appelle au fichier"Base de données Promotion". Jusque là tout va bien.

Dans le userform qui apparaît avec la listview il y a en haut à droite un bouton "Detail" Celui-ci lorsque l'on clique dessus fait apparaître un autre userform avec un tableau remplit de chiffres.
Celui-ci est alimenté par l'onglet "Budget" du fichier "Base de données Promotion". Tout cela j'ai pu arriver à le faire.

Maintenant ce que je souhaiterais c'est pouvoir aller plus loin. Je m'explique dans ce userform que j'ai appelé "tableau de bord détaillé" on a une liste de ville "Orvault", "La baule" etc...
Chaque ville à 2 textbox associées : une correspond à la colonne "budget" et l'autre à la colonne "réalisé". Je souhaiterais crée des boutons pour chaque ville, c'est à dire qu'en cliquant par exemple sur Orvault, cela affiche une listview qui reprennes les colonnes C à M de l'onglet "BaseP". Par contre dans cette dernière, les données qui doivent apparaître doivent faire appel à certains critères.
1er critère) Il faut chercher dans l'onglet "BaseP" du fichier "Base de données Promotion" dans la colonne E toutes les lignes ou le type est mis "Panneaux"
2ème critère) Il faut chercher aussi dans la colonne H toutes les lignes ou le nom de l'agence est mis "Orvault"
3ème critère) Il ne faut pas inclure les lignes qui ont écrit dans la colonne H le mot "Salle Expositions"
En clair on recherche tous les "panneaux" de l'agence "d'Orvault" et qui ne sont pas pour une "Salle expositions".
On répète l'opération pour chaque agence

Voilà c'est pas évident à expliquer. J'espère neanmoins que vous pourrez m'aider.
Je vous joint les deux fichiers nécessaires en exemple
Merci par avance
Nicolas
 
Dernière édition:

CHALET53

XLDnaute Barbatruc
Re : Listview selon certains critères

Bonjour,
ton programme plante chez moi
En bricolant, j'ai réussi à aller jusqu'à l'affichage de la liste des villes concernées par les Panneaux.
Des cases à cocher ne sont pas utiles : en mode édition sur ce userform2, un double clic sur la ville appelle une procédure. tu écris dans cette procédure un appel à un autre userform (à créer) dans lequel tu mets une listview avec les infos contenues dans les colonnes C à M avec les conditions que tu évoques.
Compte tenu de tout ce que tu as déjà fait, cela me semble à ta portée

a+
 

osiris150

XLDnaute Occasionnel
Re : Listview selon certains critères

Bonjour Chalet53,

Merci de ta réponse. A vrai dire ce que j'ai pu faire c'est grâce aux membres de ce forum. sans quoi je n'aurai rien pu construire.
Mes connaissances sont très limitées.
J'arrive plus à bidouiller qu'à construire. Ce qui me bloque ici, c'est de faire une recherche dans une listview en fonction des 3 critères que j'ai évoqué plus haut
Si déjà j'ai la trame, je pourrai peut-être y arriver.
Merci d'avance pour votre aide
Nicolas
 

osiris150

XLDnaute Occasionnel
Re : Listview selon certains critères

En fait ce fichier test est un fichier très simplifié. J'utilise beaucoup plus d'onglet et c'est une base commune qui sert à plusieurs postes informatiques. Je voulais juste avoir une trame pour ensuite me débrouiller à la développer pour l'ensemble de mon projet qui est beaucoup plus lourd.
Effectivement dans l'exemple cela peut paraître ne pas être très utile.
je reste néanmoins dans l'attente d'une solution dnas la mesure du possible.
Bonne soirée.
Nicolas
 

CHALET53

XLDnaute Barbatruc
Re : Listview selon certains critères

bonjour,

Un essai
J'ai fait une modif pour lancer l'ouverture du fichier Base de données (je plantais systématiquement)
Le click sur Détail ouvre l'userform déjà préuv
un click sur le nom de la ville ouvre un nouveau userform avec les infos demandées (je n'ai pas traité l'histoire de Salle d'exposition, je n'ai pas d'exemple et la colonne H contient déjà les villes ....)
a+
 

Pièces jointes

  • osiris.zip
    237.2 KB · Affichages: 85
  • osiris.zip
    237.2 KB · Affichages: 79
  • osiris.zip
    237.2 KB · Affichages: 79

osiris150

XLDnaute Occasionnel
Re : Listview selon certains critères

Bonjour Chalet53,

Tout d'abord je te remercie du temps que tu consacres à ma demande. J'ai testé ton fichier. Effectivement quand on clique sur une ville, cela affiche bien un userform (listview) mais rien n'apparaît dedans. Du moins chez moi...
Je te donne un exemple concret de ce qu'il doit apparaître dedans :

Prenons l'exemple de la ville de Brest :

si on clique dessus on ouvre la listview. Dedans nous devrions voir toutes les lignes où la ville de Brest apparaît dans l'onglet "BaseP" colonne H. Mais il faut également que pour cette ville on ne prenne que celle ou est écrit "Panneaux" colonne E. Dernière chose, même si on trouve la ville de Brest (colonne H) avec des panneaux (colonne E), et s'il est écrit "Salle Exposiiton" dans la colonne I alors on ne fait pas apparaître la ligne.
Voilà je sais que ce n'est pas évident. Personnellement je ne sais pas faire.
J'espère que cela va aller. Et encore une fois merci pour ton aide.
Je te remets les deux fichiers. J'ai modifié quelques lignes dans le fichier "Base de données promotions" dans l'onglet BaseP de manière à ce qu'il y ait des lignes correspondant à l'exemple que j'ai donné précédemment.
Amicalement
Nicolas
 
Dernière édition:

CHALET53

XLDnaute Barbatruc
Re : Listview selon certains critères

Re,
ça fonctionne chez moi (j'ai rajouté le contrôle sur Salle Exposition) : j'ai bien les infos dans la listview

Autre chose :

.ListItems(.ListItems.Count).ListSubItems.Add , "BaseP!D" & i, Sheets("BaseP").Cells(i, 4) peut être avantageusement remplacé(en laissant à blanc entre les deux virgules)
par
.ListItems(.ListItems.Count).ListSubItems.Add , , Sheets("BaseP").Cells(i, 4)
et ce, sur toutes les lignes
 

Pièces jointes

  • osiris.zip
    236.5 KB · Affichages: 81
  • osiris.zip
    236.5 KB · Affichages: 62
  • osiris.zip
    236.5 KB · Affichages: 67

osiris150

XLDnaute Occasionnel
Re : Listview selon certains critères

Re,

Je ne comprends pas chez moi la listview est toujours vide. Ce n'est pas grave. je testerai lundi matin au travail. Et je te tiendrai au courant. En tous cas ce que tu as fait me parait parfait et totalement conforma à ma demande.
Je te souhaite un bon week-end.
Nicolas
 

osiris150

XLDnaute Occasionnel
Re : Listview selon certains critères

je suis sur excel 2007 et au bureau sur excel 2010. Mais c'est bizarre car l'affichage de la première listview marche très bien quand je clique sur le bouton "consultations échantillons". Peut-être qu'il me manque une librairie ou quelque chose comme ça ?
 

CHALET53

XLDnaute Barbatruc
Re : Listview selon certains critères

J'ai également 2007

Une version transformée en 2003 (avec notamment les xlsm remplacé par xls) qui fonctionne également chez mois sous 2007
les mettre dans un répertoire spécifique
 

Pièces jointes

  • osiris2003.zip
    213 KB · Affichages: 117

osiris150

XLDnaute Occasionnel
Re : Listview selon certains critères

Je viens de tester la version 2003. Rien à faire. Je comprends pas.
tiens voici une copie d'écran :



Il doit me manquer une référence peut-être...C'est vraiment bizarre car j'ai pas de message d'erreur.
 
Dernière édition:

CHALET53

XLDnaute Barbatruc
Re : Listview selon certains critères

Effectivement, il manque une info dont je me sers :
Le mot Panneaux dans la zone de recherche du premier userform
Si tu choisis Carreaux échantillons, ce sont les villes concernées qui seraient affichées

Autre chose : évite l'instruction me.hide
Hide cache le userform sans le fermer . ainsi lorsque tu quittes l'appli lorsque tu es sur le userform résutatbase et que tu relances le camion, la zone de recherche reste renseignée comme elle l'était en la quittant
Il faut la remplacer par l'instruction : unload me
 
Dernière édition:

Discussions similaires

Réponses
8
Affichages
388
M
Réponses
6
Affichages
436
Réponses
31
Affichages
491

Statistiques des forums

Discussions
312 160
Messages
2 085 839
Membres
103 001
dernier inscrit
vivinator