Formule Methode FIND VBA

Bonjour,

je suis en train de suivre les cours VBA depuis votre site. Je commence tout juste .

Voila je me suis renseigné depuis internet pour trouver une formule de recherhce.

Je suis en train de creer un tableau excel avec une liste de noms, prenoms d'employés, mais aussi une liste d'aeroports avec leur noms, mais aussi indicatif.

Je voudrais creer une fonction recherche, ou l'on pourrait inscrire le nom de l'employé( ou aeoroport), et les noms correspondant a la recherche apparaitrait, ou bien alors me refererai è la ligne de l'employé (ou aéroport) en le surlignant.

Je vous joins un exemple de mes deux tableaux.

Dans le VBA, vous trouverez la formule que j ai trouvé sur internet.

Merci pour votre aide

74livre-coordo-test.zip (127.08 Ko)

Bonsoir,

As-tu essayé de l'exécuter ?

Chercher des solutions sur Internet n'empêche pas de réfléchir logiquement : tu bâtis une procédure de recherche, d'abord tu dois penser que tu dois lui dire quoi chercher et où ? (ou lui donner des éléments qui lui permettront de le déterminer elle-même). Mais si on ne lui donne rien au départ, la macro ne trouvera rien, et même se bloquera vite dès qu'elle rencontrera un élément non initialisé. Ensuite, il faudra qu'elle te fournisse la réponse (ok, tu as prévu un MsgBox, qui dois je pense t'indiquer où est la réponse, la recherche devrait pouvoir t'apporter une réponse plus complète dans des formes à définir).

Donc, soit la macro est lancée par une autre et elle peut recevoir les éléments dont elle a besoin par arguments, soit elle doit fonctionner de façon autonome et il faut les lui fournir. Intéresse-toi dans ce cas aux moyens de passer ces éléments : InputBox par exemple...

Vois aussi tes variables non déclarées, dont une n'en est peut-être pas une mais une simple erreur d'ecriture. Penser à les initialiser avant de les utiliser. Et inutile de vider tes variables en fin de procédures, elles disparaîtront à la fin de l'exécution.

Cordialement,

Ferrand

Le problème est pas de reflechir logiquement, je voudrais juste comprendre ou mettre mes variables.

Comme je le disais je debute tout juste. Donc j'aimerai une explication SVP merci

Bonsoir,

Déjà, comment vas-tu utiliser cette procédure ? Comment veux-tu la lancer (et éventuellement dans quel contexte) ? Et comment souhaites-tu obtenir le résultat (ou comment doit-il être utilisé ensuite) ?

Réponds déjà à ces question, cela fera avancer la conception.

A+

Ferrand

Utilisation procédure /lancement /résultat :

Le principe serait d’avoir un bouton « rechercher » pour activer la procédure.

Et qu’il y ait deux possibilité de champs de recherche : Par le nom ou le prénom

Pendant la saisie du nom ou du prénom, je voudrais qu’une liste déroulante apparaisse pour afficher les multiples choix de noms ou prénoms (suivant la recherche effectuée) trouvés par la fonction.

Et lorsque l’utilisateur trouve la personne désirée, et valide le nom ou prénom en le sélectionnant; je voudrais que la fonction vienne surlignée la ligne de la personne sélectionnée en couleur vert par exemple

Je ne veux pas qu’on me ponde la formule toute faite, mais plutôt m’expliquer les étapes, comment procéder et ou dois-je inscrire mes valeurs.

Merci de l’aide

Bonjour lionel et MFerrand.

Je confirme les propos de MFerrand et je rajoute que, que ce soit sur excel où ailleurs, il ne faut pas adapter la situation à l'outil mais le contraire. En d'autre terme, selon ce que vous voulez faire, le choix de l'outil se portera sur telle ou telle méthode.

Ce qui vous empêche d'avancer c'est que vous ne savez pas trop ce que vous voulez faire...Donc l'objectif étant flou normal que l'outil le soit aussi.

Cordialement

Ce qui est flou n'est vraiment pas ce que je veux faire. J'ai vraiment mon idée en tete.

Ce qui est vraiment flou sont mes connaissances avec VBA.

Je le repete ca doit faire a peine 2 semaines que j'ai commencé a apprendre tout ca.

Et je ne fais pas ca a temps pleins,

Donc Y-a-t il vraiment quelqu'un pouvant m'aider ? quelque chose de constructif SVP.

Pas pour y mettre son grain de sel et au final servir a rien.

merci

On s'éloigne de la méthode Find !

Ton orientation actuelle pourrait se diriger vers un formulaire de recherche (Userform), lancé par un bouton, à construire.

Schéma classique : un ComboBox pour rechercher dans une liste déroulante, des TextBox pour afficher les données correspondant à ta sélection.

Si tu veux pouvoir rechercher selon Nom ou Prénom, tu peux afficher les 2 colonnes dans le ComboBox, et avant affectation trier la liste selon Nom-Prénom ou selon Prénom-Nom. On peut même inclure la colonne Numéro (si le numéro est unique il facilite la recherche, sans qu'il soit forcément visible dans le Combo).

Je te conseillerai donc d'étudier le fonctionnement des ComboBox multicolonnes...

Egalement de nommer la partie utile aux choix à faire (ou la première colonne, ce sera à voir plus tard selon orientation, qui permet par décalage de délimiter d'autres plages). Nommer en champ dynamique pour que le nom soit définitif.

Le choix tri par nom ou prénom peut être fait au lancement (questionnement) ou par 2 boutons distincts.

Pour le surlignage, cela ne présente guère de problème après recherche. Il faut prévoir de le supprimer après usage.

Bon courage.

Ferrand

Parfait un gros merci!

cela va me permettre de mieux guider mes recherches

Si je sers à rien dans se cas là je sors discrètement...

Je souscris aux conseils éclairés de Force rouge.

Ne sors pas ! je vais prendre un peu de repos. Mais je reviendrai.

Rechercher des sujets similaires à "formule methode find vba"