XL 2010 Chercher dans une colonne une donnée d'une inputbox et renvoyer une ligne

lea.msscr

XLDnaute Nouveau
Bonjour,

J'aimerais savoir s'il est possible et réalisable de (en VBA) :
chercher dans des colonnes d'un fichier Excel une donnée que rentre l'utilisateur dans une inputbox
si elle existe dans une colonne, on renvoie avec une MsgBox ou autre, la ligne entière correspondante

Si il y a besoin d'autres informations, n'hésitez pas !
Merci d'avance.
 
Dernière édition:

Dranreb

XLDnaute Barbatruc
Bonjour.
Oui c'est faisable mais peut être pas le plus pratique, parce qu'il faut taper toute la donnée exacte.
Une ComboBox dans un UserForm peut reconnaitre un début tapé et complète automatiquement par la 1ère suite existante possible.
 

Deadpool_CC

XLDnaute Accro
re ...
Je suppose que les lignes avec des données redondantes sauf le N° sont du fait que t'as fait un fichier exemple par copier/coller mais que dans ta base original tu n'a pas de "doublon".
et par exemple le nom Latin on le cherche que dans le "Nom botanique" ou il faut aussi le chercher dans d'autre Colonne (Synonyme entre autre qui en plus est une colonne doublée)
ps : pas facile de te faire une solution à partir d'un tel fichier exemple qui semble pas refléter la réalité (ou alors il y a un soucis dans ta source de données :)

[Edit] j'en profite pour te dire qu'il faut anonymiser les fichiers (passe le bonjour à l'étudiante LEA ... lol)
 

lea.msscr

XLDnaute Nouveau
Oui il y a beaucoup de doublon dû à notre sujet.
Normalement le fichier excel doit avoir 3 fois plus de lignes et de données mais j'essaye sur le petit avant.
Il y a plusieurs frêne car il existe plusieurs plaquettes de ce frêne donc une ligne par plaquette.
Donc oui il faut chercher dans les colonnes du noms + des synonymes.

Le nom latin correspond à la colonne nom botanique et le nom courant correspond à la colonne nom commun.

Mercii !! Je n'y avais pas pensé... Normalement j'ai changé le fichier
 

lea.msscr

XLDnaute Nouveau
Bonjour.
Oui c'est faisable mais peut être pas le plus pratique, parce qu'il faut taper toute la donnée exacte.
Une ComboBox dans un UserForm peut reconnaitre un début tapé et complète automatiquement par la 1ère suite existante possible.
J'ai mis une ComboBox et en effet cela semble plus pratique, mais comment je peux utiliser ensuite la donnée écrite dans la combobox
 

Dranreb

XLDnaute Barbatruc
Une ComboBox a une propriété ListIndex qui donne la position par rapport à 0 dans sa List du texte y existant. Mon objet ComboBoxLiées gnéralise le principe à plusieurs ComboBox basées sur des colonnes différentes d'un même tableau. Il s'occupe de construire les listes dynamique classées et sans doublon pour les ComboBox dont on lui a confié la charge, gène la combinaison des choix effectués et informe du résultat l'UserForm via des procédures de prises en charge d'évènements Change, Résultat, Bingo et BingoUn.
Un autre type d'objet ControlsAssociés permet de transférer dans les deux sens les valeurs de contrôles avec les valeurs d'un tableau dynamique d'une ligne à destination ou en provenance d'une ligne de cellules du tableau (méthodes ValeursDepuis et ValeursVers)
 

gbinforme

XLDnaute Impliqué
Bonjour,

Je te propose une autre idée qui te permet avec un filtre sur la rubrique que tu choisis de n'afficher que les lignes qui correspondent à la saisie de 3 caractères successifs minimum du champ, sans tenir compte de leur position.
Cela simplifie la recherche mais il faut ruser pour trouver des rubriques différentes dans ton classeur que j'ai mis en tableau structuré.:)

Bon test
 

Pièces jointes

  • PROJET VBA V2.xlsm
    62.2 KB · Affichages: 10

lea.msscr

XLDnaute Nouveau
Bonjour,

Je te propose une autre idée qui te permet avec un filtre sur la rubrique que tu choisis de n'afficher que les lignes qui correspondent à la saisie de 3 caractères successifs minimum du champ, sans tenir compte de leur position.
Cela simplifie la recherche mais il faut ruser pour trouver des rubriques différentes dans ton classeur que j'ai mis en tableau structuré.:)

Bon test
Merci beaucoup pour votre aide !
Je débute en VBA et ça m'aide beaucoup ce que vous m'avez envoyé même si quelques lignes restent assez vague.

J'aimerais faire un mix de ce que vous avez fait avec ce que nous voulions faire.
Est ce qu'il est possible de faire une textbox directement dans la USF_Nom et donc de rentrer dans la textbox uniquement un nom botanique sans avoir à cocher un champ comme vous l'avez fait ?

J'ai essayé en changeant les "Tableau1" en "Tableau1!C" mais ça ne semble pas fonctionné.
 

lea.msscr

XLDnaute Nouveau
Une ComboBox a une propriété ListIndex qui donne la position par rapport à 0 dans sa List du texte y existant. Mon objet ComboBoxLiées gnéralise le principe à plusieurs ComboBox basées sur des colonnes différentes d'un même tableau. Il s'occupe de construire les listes dynamique classées et sans doublon pour les ComboBox dont on lui a confié la charge, gène la combinaison des choix effectués et informe du résultat l'UserForm via des procédures de prises en charge d'évènements Change, Résultat, Bingo et BingoUn.
Un autre type d'objet ControlsAssociés permet de transférer dans les deux sens les valeurs de contrôles avec les valeurs d'un tableau dynamique d'une ligne à destination ou en provenance d'une ligne de cellules du tableau (méthodes ValeursDepuis et ValeursVers)
Merci beaucoup pour ta réponse !!
 

Discussions similaires

Statistiques des forums

Discussions
315 085
Messages
2 116 075
Membres
112 650
dernier inscrit
badi44