Fonction recherche selon 1 partie du contenu d'une cellule
Bonjour à tous.
Je suis à la recherche d'une fonction non VBA (car j'y connais rien) qui me permet de faire une recherche à partir d'une partie du contenu d'une cellule.
Pour être plus clair, j'ai un fichier excel avec deux onglets. ci dessus le lien de ce fichiers
https://www.excel-pratique.com/~files/doc/exemple_fichier_excel.xls
Le premier onglet, appelé "libellé" contient un tableau de deux colonnes.
A B
libelle code
auto 1
carburant 1
gazoil 1
gasoil 1
sp95 1
sp98 1
sp 95 1
sp 98 1
hotel 2
repas 2
mission 2
hébergement 2
restaurant 2
bar 2
véhicule 1
peage 1
peages 1
parkings 1
avion 2
kilométrique 2
voiture 1
dejeuner 2
........ ...........
Mon deuxième onglet s'appelle "saisie".
A l'intérieur se trouve un tableau de 4 colonnes dont les deux premières ne sont que des informations sur lequelles ils n'y aura aucun traitement, la troisième est un montant et la dernière est un libelle qui a été saisi mannuellement et j'ai du tout et du n'importe quoi dans ce libellé. Ainsi, dans cette colonne, au lieux d'avoir uniquement "hotel", j'ai "nuité d'hotel", chambre d'hotel", hébergement"... pour le carburant, au lieu d'avoir carburant, jai "sp 95"; "SP95", "Gasoil", "Gazoil", "Essence"; "Carburant"....
A B C D E
code 1 code 2 montant libelle recode 1
jfdsljfdkl jfdljqfkl 250,00 avion pour l'angleterre
hgfd kzema 125,58 carburant
mjdfkslqjf ueaiorui 254,68 location voiture
fqsdfjjklm fjsdkqljfklq 87,78 nuit d'hotel
fdkqsfj ureiazo 25,00 petit déjeuner
jdfslqjfkl uezioa 27,58 sp95
J'ai donc créé une 5ème colonne (tient c'est pas le titre d'une film, ca) où je voulais faire une recherche automatique du style : En E2 : recherche dans le libellé de D2 de l'onglet "saisie" un terme qui se trouve dans le tableau A:B de l'onglet "libellé" et inscrit le code de la colonne 2 de ce même tableau en E2 de l'onglet "saisie".
Cela serait uniquement une recherchev ordinaire, ça irait mais là, avec une recherche sur une partie de la cellule qui plus est, n'est pas forcémenent au même endroit dans la cellulle, je sèche dur.
Et qui plus est, histoire de corser encore un peu plus l'affaire, il faudrait ne pas tenir compte des accents genre kilométrique et kilometrique (mais si pas possible, pas important ; à moi de prévoir dans le premier onglet les même codes avec accent.)
Votre aide serait vraiment la bien venue.
Avec mes remerciements
Dominique
Bonjour,
ta demande n'est pas facile a comprendre,et à mon avis le mieux serait de le faire en VBA,je sais pas ce qu'en pense les autres?
Moi aussi j'aimerais bien trouvé la version 'jeux vidéo' d'excel
Bonjour,
Suite à la remarque de Mytå, dont je ne saisis pas la portée, je me suis abstenu de répondre, Modérateur oblige !
Ce que tu souhaites réaliser doit être faisable (une petite usine à gaz !), mais avec une restriction, la chaine de caractères dans la feuille de saisie colonne D doit contenir un mot en tous points identique à la liste de la feuille libellé colonne A, donc y compris les accents, les pluriels, ...
Mais pourquoi ne pas mettre en colonne D de la feuille saisie une liste de validation qui reprend tous les libellés de la feuille libellé colonne A, avec impossibilité de saisir dans cette colonne tout autre chaine de caractères.
Dès lors la recherche du code devient très aisée.
Bonjour ou plutot bonsoir
Désolé Mita et Max, mais je ne comprend pas le clin d'oeil sur le excel jeux vidéo
Pour répondre à ta question, Dre, ajouter en colonne D une liste déroulante ne servirait à rien ma feuille "saisie" étant en réalité un import d'un logiciel de comptabilité.
Il n'y a pas possibilité dans le logiciel de compta, de créer une liste déroulante qui permettrait d'uniformiser les choix à la saisie. C'est pour cela que, suivant les personnes qui font la saisie, il n'y a pas forcément les mêmes définitions pour les mêmes dépenses. Un protocole de saisie à pourtant été mis en place mais...
J'importe donc dans excel le fichier tel qu'il est.
Comme le fichier est relativement important et concerne un bon nombre de personnes différentes je voulais mettre un place un système automatique qui permettrait de "retraiter" les données saisies dans la feuille "saisie" automatiquement afin de m'éviter de le faire manuellement... sinon vu la quantité à traiter, autant aller me pendre...
Je pensais, à l'instar d'access où il existe dans les requêtes la possibiité d'avoir un critère du style "contient la donnée X" qu'il y avait un similaire sur excel. Mais je ne sais pas si ça existe et si oui comment faire.
Je continue donc à chercher
Merci et a+
Dominique
Salut le forum
Dom33, celà vient de ton profil, merci de l'éditer et remplacer la version Excel
Inscrit le : 05 Mai 2008
Messages : 2
Version Excel : jeux vidéoMytå
P.S. On te demande pas dans quoi tu Excel, mais bien ta version installée.
Bonjour,
Excuse-moi Mytå, je n'avais pas fait le rapprochement avec le profil de notre ami !
Un moment j'a supposé que c'était de l'humour canadien (lol).
Pour répondre à la question de Dom, il existe sur Excel la fonction CHERCHE (ou TROUVE) qui, combiné à la fonction ESTNUM, renvoie VRAI ou FAUX.
Exemple : =ESTNUM(CHERCHE("hotel";A1))
Mais là où cela se complique c'est
qu'il faut tester chaque mot de la chaine de caractère
que les deux mots (cherché et trouvé) doivent être tout à fait les mêmes
qu'il faut tester toutes les chainesz de caractères de la colonne
Comme je te l'avais signalé, une petite usine à gaz.
Bonjour
La solution de mon problème semble être effectivement quelque peu compliquée à mettre en place. Je pense que je vais me mettre au VBA. De toute façon, je constate qu'il devient de plus en plus incontournable.
Sachant que je ne connaît rien à la programmation (en dehors du langage "Basic" appris il y a une bonne vingtaine d'année) auriez-vous des livres à me conseiller pour l'apprentissage du VBA. Je suis déjà aller voir à la Fnac mais il n'y a que des ouvrages ou il faut déjà avoir une certaine connaissance en programmation. Je n'ai pas trouvé de livre qui commance par le b-a-ba pour arriver à un niveau élevé. Il y avait bien dans la collection "les nuls" un ouvrage sur excel et VBA mais c'était pour excel 2007. Je n'ai que la version 2002 et à mon boulot ils ont la 2003.
Merci par avance et bonne journée
a+
Dominique