Rechercher sur un critère et afficher en tableau

Bonsoir à tous,

J'ai un fichier avec aujourd'hui près de 500 enregistrements (lignes), chaque enregistrement comprend 15 données (colonnes)(Nom, adresse, ville, dirigeant, machines, marques...). J'ai fait un userform pour la saisie et tout va bien.

Mais je cherche sans succès un exemple de code pour l'action suivante:

Sur une userform je voudrais un champ de recherche dans lequel la saisie est libre (pas une liste de choix).

Après avoir saisi le mot recherché, j'ai un bouton "OK" et quand je valide,en dessous sous forme de tableau, s'affiche tous les enregistrements dans lequel on trouve le mot recherché avec les colonnes nom, adresse, ville.

Par exemple à partir de mon fichier d'entreprises, je veux la liste de toutes celles qui ont une sertisseuse (on le trouvera dans la colonne machines.

J'espère avoir été clair dans mes explications.

Merci d'avance de votre aide.

Bonsoir

wally66 a écrit :

J'espère avoir été clair dans mes explications.

Les explications sont claires manque plus que le fichier

Merci banzai64 d'avoir pris en compte ma demande.

En pièce jointe un bout du fichier. J'ai enlevé des entreprises (lignes) et des informations (colonnes) pour simplifier.

A partir de cet exemple, je cherche à faire un userform avec un champ de recherche dans lequel je tape volvo et quand je valide j'ai un tableau qui s'affiche avec les 3 entreprises qui font volvo. Si je tape sertisseuse j'ai un tableau avec les 4 entreprises qui ont une sertisseuse. Dans le tableau n'apparaissent que le nom de l'entreprise et sa ville.

Et cerise sur le gateau, dans le tableau si je clique sur le nom de l'entreprise, sa fiche s'ouvre dans l'userform FICHE que j'ai créé (non jointe).

Merci de ton aide.

13testvba.zip (8.69 Ko)

Bonjour

Pour commencer

Merci Banzai64,

La recherche marche pile poil. Je vais regarder le code pour bien le comprendre.

Pour le clic sur le nom et ouverture de la fiche de l'entreprise, c'est la cerise sur le gateau, donc si tu n'as pas le temps je comrendrai.

Merci en tous les cas.

Wally66

Bonjour

C'est un gag ?

wally66 a écrit :

sa fiche s'ouvre dans l'userform FICHE que j'ai créé (non jointe).

Désolé Banzai64,

Je n'avais pas pris le temps de créer la fiche. Je viens d'en faire une vite fait.

Ce que je veux comprendre, c'est le code qui permet d'ouvrir une autre userform spécifique.

Merci de ta patience.

Bonjour

A tester

Merci encore Banzai64.

Je vais appliquer le code à mon gros fichier....

A moi de jouer maintenant...

Bonjour Banzai64,

Grace à ton aide, j'ai bien avancé mais j'ai des soucis et je n'arrive pas à trouver mes erreurs :

J'ai mis 2 boutons sur une page accueil. Ils lancent bien le userform affecté.

Pour une question de lisibilité, j'ai créé un bouton pour vider le formulaire avant saisie nouveau contact. Ca marche sauf la combobox1 qui reste affichée mais je ne pense pas que ca pose problème.

J'ai copié un code pour incrémenter automatiquement le n° de la fiche, ca a marché avec l'enregistrement testyu (N°625). J'ai créé un code pour la date de l'enregistrement se mette automatiquement en colonne AN. Ca marche.

SAUF que j'ai du modifier un truc car maintenant quand je clique sur le bouton "valider nouveau contact" il ne s'enregistre pas...j'ai beau relire le code mais je ne trouve pas mon erreur...

Pour ce qui est de modifier un contact, les modifs s'enregistrent mais la date de modif n'apparait pas dans la colonne AN de l'enregistrement modifié.

Dernier point, j'ai essayé d'adapter ce que tu m'as fait pour la recherche, ca marche sauf que quand je clique sur le nom de l'entreprise dans la tableau, ca m'ouvre la fiche mais vierge, sans les infos de l'entreprise demandée.

Dans le fichier joint j'ai enlevé plein de lignes car il dépassait les 300Ko autorisés.

Merci de m'aider si tu as encore un peu de temps à me consacrer.

Bon week end

49banzai64v1.xlsm (167.38 Ko)

Bonjour

A vérifier

Tout fonctionne à merveille. Merci Banzai64 et pour ton aide et pour la rapidité de réponse.

Bon week-end.

Je prends plaisir à progresser en VBA. J'ai créé un bouton pour imprimer la fiche quand on la voit.

Maintenant, naturellement, je me suis dit que ce serait bien par rapport au sujet initial, de pouvoir imprimer toutes les fiches des enregistrements qui sont affichés dans le tableau de résultats de la recherche.

Pour le bouton Imprimer toutes les fiches, je pense qu'il faut utiliser For Each ... Instruction ..Next.. mais je n'y arrive pas à comprendre comment définir les enregistrements qui apparaissent dans LbListe.

Et oui encore besoin d'un coup de main..

Merci d'avance

Un essai

Bonjour Banzai64,

L'essai est concluant. Merci. Le code est très simple quand on s'y connait.

Bonne fin de week -end.

Bonjour,

J'ai bien progressé dans mon projet. J'ai besoin d'améliorer un point quand j'ajoute un enregistrement. Celui-ci s'enregistre sur la première ligne libre dans la feuille "FICHE", c'est normal. Par contre je voudrais qu'après l'enregistrement une opération de remise en ordre alphabétique soit faite sur le champ "Raison sociale", ceci afin que dans la combobox Recherche les noms apparaissent tous dans l'ordre alphabétique.

Pour le moment si je crée un enregistrement "abtest", je le retrouve tout en bas dans la liste déroulante de "recherche".

Enfin, mais là je pense que c'est plus compliqué, est-il possible quand on imprime par exemple 60 fiches d'avoir une numérotation automatique des pages et une page" sommaire" qui récapitule page 1 telle entreprise, page 2 telle entreprise...

Un remerciement particulier à Banzai64 qui m'aide beaucoup depuis mes débuts.

Wally66

Bonsoir

A tester

Bonjour Banzai64,

J'ai testé et tout fonctionne bien. Je n'ai pas compris tout le code mais je vais me repencher dessus.

Par contre, j'ai constaté que quand dans une fiche dans laquelle les données batiment et terrain ne sont pas remplies, si je les complète, après ce champ ne change plus. La dernière donnée reste toujours affichée.

J'ai regarder le code du bouton "modifier" mais je ne vois pas d'erreur. Dans UserForm Initialize rien d'anormal à mes yeux. Merci de jeter un coup d'oeil...

Je ne remets pas le fichier en pièce jointe car il s'agit de celui que tu m'as passé hier soir.

Merci d'avance

Wally66

Bonjour,

Je me réponds à moi-même car j'ai trouvé le problème.

Sans doute en voulant déplacer les textbox de ces deux champs, j'ai créé 2 nouvelles textbox qui sont venues se superposer aux anciennes. Donc elles n'étaient pas mise à jour car non identifiées et elles cachaient les infos de la fiche active. tout est rentré en l'ordre. Je les ai supprimer et tout marche comme avant. Effectivement ce ne venait pas du code mais d'une maladresse de ma part...c'est comme ça qu'on apprend.

Bonne soirée

Wally66

Bonjour à tous et à Banzai64 en particulier,

Dans le fichier joint, je veux pouvoir insérer une image (logo, photo...). J'ai créé dans l'userform un bouton pour pouvoir choisir la photo et ca marche. Par contre, cette photo ne s'enregistre pas dans le feuille FICHE. J'ai créé un bouton valider photo. J'ai essayé différents codes trouvés ça et là mais rien à faire. Il semble que la seule solution soit d'enregistrer dans la cellule correspondante le chemin pour arriver à la photo choisie pour qu'elle réapparaisse lors de la réouverture de la fiche.

Je suis preneur de toute solution.

Et donc je vous sollicite une fois de plus....

Merci.

Rechercher des sujets similaires à "rechercher critere afficher tableau"