Problème de code pour listview et comboBox
Bonjour à vous tous,
Voila cela va faire un bon moment que je cherche mais je trouve pas où est mon erreur.
Je cherche à créer deux formulaires de recherche à partir de comboBOx et d'une listView mais rien a faire j'ai beau regarder tout les posts et de modifier mon code en conséquences mais rien n'y fais.
J'ai deux questions
- comment faire pour alimenter une comboBox à partir d'une ligne de valeur et non une colonne( j'ai trouver des codes mais je n'arrive pas à les intégrer ce qui explique qu'il ne sont pas dans le fichier)
- Pouvez vous poser un regard neuf sur mes formulaires car moi je ne sais pas ou est le petit truc qui ferait que mes comboBoxs alimentent correctement mes listviews....Un regard de connaisseur car je dois vous avouer que je ne touche à VBA que depuis Deux mois alors mes connaissances sont loin d'être les votres. S'il vous plait aider moi car je ne sais vraiment plus quoi faire.
Merci d'avance a ceux qui pourront m'aider
Bonjour Valombre le forum
bon alors c'est quoi tes recopie de bout de code????
comment veux tu que cela marche, tu fais référence dans les userform partout, une feuille qui s'appelle "SUJET" hors dans ton fichier tu n'as pas de feuille sujet???
De plus tu penses que l'on peut deviner ce que tu veux obtenir???
Aucune explication dans le fichier!!!!
Alors dans un premier temps explique nous ce que tu veux faire comment tu veux le faire et après on va le faire.
De plus utiliser de listview pour commencer dans vba c'est pas la manière la plus simple d'aborder le sujet à a mon avis
enfin dans l'attente d'explications dans le fichier
a+
Papou
Merci papou d'avoir lu mon fichier.
Bonjour a vous tous
Je suis vraiment désolé pour ce manque d'informations et ces copier- coller grossiers et mal fait. En fait ce n'ai pas mes premiers formulaires, j'ai au préalable commencé par des formulaires de saisies.
Je cherche à réaliser une base de données pour les formations pour une entreprise de 200 personnes.
Mon post concerne trois formulaires de recherche que je voudrai réaliser ils se ressemblent beaucoup.
- un formulaire qui me permettrai de rechercher toutes les formations par type puis affiner la recherche pour un service donné = c'est le formulaire ResultatParService que l'on ouvre par le Bouton Recherche par service
- Un formulaire qui me permettrai de rechercher toutes les formations d'une personne avec la possibilité d'affiner par type de formation. Avec une option d'impression= c'est le formulaire ResultatParPersonne que l'on ouvre par le Bouton Recherche par personne. Mais il n'est pas beaucoup avancer.
- Un formulaire qui me permettrai de rechercher pour une formation donnée toutes les personnnes l'ayant réalisée et pouvoir affiner par service si nécéssaire= C'est le formulaire ResultatParFormation que l'on ouvre par le Bouton Recherche par Formation
Mon problème ce situe surtout au niveau du remplissage de mes listviews, j'ai beau avoir regardé de nombreux posts je n'arrive pas à comprendre où est mon erreur. Je peux remplir mes comboBox mais il ne se passe rien dans ma listview.
Je voudrai qu'une première comboBox me remplisse une première fois ma listview puis une deuxième comboBox me permettrait d'affiner les résultats de ma listView.
Le Formulaire de recherche par personne n'ai pas beaucoup avancer car dés le début en plus de mon problème de listview j'ai un problème de comboBox: en effet la liste que je souhaite est en ligne et non en colonne. J'ai tenter un code mais ça n'a pas l'air de fonctionner " Me.Formation.List = Application.Transpose([C4:C100].CurrentRegion.Resize(1))"
Voila j'espère avoir été plus claire et plus compréhensible.
Merci d'avance que l'aide que vous pourrez m'apporter
A+
Bonjour Valombre le forum
Bon alors je viens de regarder ton fichier c'est nettement mieux pour comprendre cependant comme tu as pondu des code un peu , beaucoup très incomplet, je n'arrive pas à savoir ce que tu veux charger au départ.
dans un premier temps afin de te faire avancer, explication de pourquoi ta macro de remplissage ne marche pas
Private Sub UserForm_initialize()
Me.Formation.List = Application.Transpose([C4:C100].CurrentRegion.Resize(1))
End Sub
Me.formation.list = 'ça c'est bon, mais après il faut réfléchir un peu
Application.Transpose, là OK aussi, mais pour charger ta combobox, tu as besoin de données en colonne, et toi tu demandes de transposer une colonne en ligne??????? car C4:C100 c'est une colonne
Mais le plus inquiétant c'est que tu lances ton ouverture d'userform de la feuille Base RH et donc quand tu mets entre Crochet une plage, tu la prends de la feuille active ce qui n'est certainement pas ce que tu souhaites faire!!!
pour charger par exemple la ligne 1 de la feuille xx tu dois faire
Me.Formation.List = Application.Transpose(sheets("xx").range("C1:V1")) donc dans ton cas si tu veux charger la ligne 4 de ta feuille "Fichier", tu auras
Private Sub UserForm_initialize()
Me.Formation.List = Application.Transpose(Sheets("Fichier").Range("I4:X4"))
End Subas-tu compris ??
des que tu me diras le pourquoi du C4:C100 et de quelle feuille je dois charger, j'avancerai sur le sujet, mais là je suis un peu bloqué
a+
papou
Bonjour Valombre le forum
lire la suite
a+
Papou
Re Valombre le forum
Bon alors sans réponse j'ai fait un truc, par contre merci de lire impérativement les deux posts qui précèdent
voilà ton fichier avec un rajout, tu cliques dans la feuille sujet sur le bouton recherche et tu tapes comme indiqué dans le pavé texte
a+
Papou
bonjour paritec, bonjour le Forum
Merci beaucoup pour les explications paritec. Même si je me sens bête car visiblement moi qui pensais avoir fait un travail plutôt propre ca n'a pas l'air d'être le cas... Loin de là. J'essaye de voir tous tes messages et de voir comment je peut regrouper toute mes données en une seule fiche.
En fait, je pensait faire une feuille comme la feuile" fichier" c'est a dire qu'elle regroupe les trois feuilles: en colonne la feuille "PERSONNEL Fiche" en ligne la feuille SUJETS (mais sans les descriptifs cela prendrait trop de place je pensait créér dans mon formulaire un lien hypertexte pour aller a la description?) et a la croiser la feuille "Personnel". (mais j'ai un problème car évidement certaines personnes suivent deux fois la même formation)Donc ton fichier me parait plus parlant même si on y rappel beaucoup d'information identique pour moi mais je ne vois pas comment le réduire.
Je sais que j'espère beaucoup peut être un peu trop.
Alors pour le fichier que tu m'as fait en exemples, ca c'est super mais il me faudrait un formulaire séparé car des fois des clients viennent et souhaitent voir toutes les formations faites par une personne.
Donc il faut que j'arrive à faire ressortir toutes les formations de cette personne dans l'ordre chronologique.
(je te scan un exemple de ce que jusqu'a aujourd'hui ils impriment ) Après c'est peut être simplement une histoire de prendre les bonnes valeurs et les organiser correctement.
Pourquoi aussi je cherche à séparer mes formulaires c'est que les chefs de services n'auront pas accès aux mêmes formulaires que les RH. Comme cela on évite les erreurs, les doublons et surtout la diffusion de papier personnel et les problèmes qui s'en suive ("hey pourquoi pierre a eu plus de formation que moi alors que je suis là depuis plus longtemps que lui?".. Si tu vois le genre!!)
Je voudrai également que si un chef de service veut savoir dans son service qui est formé et à quoi. (formulaire recherche par service) qu'il puisse l'imprimer sous forme de tableau( celui la je pense que je vais oublier l'idée de faire un formulaire et utiliser le bon vieux tableau avec des filtres automatiques pour n'avoir que les personnes du services et les formations du service. ca sera mieux pour eux et plus parlant.)
Et mon Troisième formulaire correspond tout a fait a celui que tu a mis car c'est un des systèmes que je voulait faire.
Je souhaitais qu'un chef de service puisse chercher qui est formé sur cette formation mais aussi a quoi elle correspond rééllement. Donc un fonctionnement par mot clef comme tu l'as fait est parfaite comme ça s'ils ont juste la référence ou un mot du titre ils pourront la trouver.
Après il faudrait que je puisse sélectionner dans le formulaire le type de données que je veux, peut être sous forme de checkBox pour que la personne ne soit pas trop submergé d'informations.
Je vais essayer de te remplir mieux mon fichier (avec des données plus parlante)pour que tu comprennes et je vais scanner une des feuilles que je voudrais (en un peut plus joli car elle est plus que simple mais y a les informations nécessaires)
Pour le transpose j'ai encore une fois plus que honte, c'est sur que si je spécifie une colonne au lieu d'une ligne je vais pas aller loin.
Merci encore Paritec
Re Valombre le forum
oui remet ta base à jour en n'oubliant pas de colonne et si tu veux que je modifie la macro je te ferai cela et là au moins avec une recherche tu auras tout ce que tu veux
Pour une recherche sur une personne en particulier pas de soucis quand tu auras fait ta base je te pondrai un truc qui va bien.
Sachant que si le besoin se fait sentir, on peut ajouter une recherche supplémentaire, mais tu sais moi pour des fichiers de 15000 lignes avec deux textbox cela suffit largement
Enfin a tester des que tu auras revu ta base
a+
Papou
PS: si l'explication de remplissage tu l'as compris c'est tout bon, maintenant tu sauras faire tout seul
Alors j'ai essayé de remodifier mon fichier pour ne faire qu'une base de données (attention je n'ai pas encore modifier mes liens avec mes boutons de saisies)
J'espère que ma base de Donnée vous suffira.
Pour le transpose je n'en ai plus besoin car j'ai pris la suggestion que paritec m'a faite et elle ne compte que des colonnes mais je garde la méthode et les explications sous la mains au moins je serait le faire pour la prochaine fois (merci encore paritec).
J'ai également essayer de réaliser un tableau pour ma recherche par service mais je ne sais pas comment faire pour qu'elle fonctionne car pour moi les filtres ne fonctionnent que sur des colonnes et je voudrai n'avoir d'afficher que mes formations d'un seul service voir exemple sur le fichier que j'ai modifié (les 3 dernières feuilles)
Pour le Formulaire de recherche par personne j'ai essayer de mettre dans le code les en-têtes que je souhaiterai avoir.
Après j'ai compléter ma base de donnée comme demander par Paritec avec des valeurs plus parlante.
J'ai également rajouter un mode d'affinage que je souhaiterai ajouter a ma listview Recherche par Formation mais je n'ai fait aucun code c'est surtout pour avoir votre avis si cela est réalisable ou non sachant que beaucoup des items seront toujours demandés.
Comme dis auparavant je joins également un exemplaire de ce que je souhaiterai pouvoir imprimer via le formulaire de recherche par personne.
Voila j'espère que cela ira. Si besoin d 'autres renseignements n'hésitez pas
Bonjour Valombre le forum
merci d'aller lire tes messages privé j'en ai envoyé un
a+
Papou