A voir également:
- Recherche partie d'une valeur dans une colonne
- Déplacer une colonne excel - Guide
- Comment faire une recherche à partir d'une photo - Guide
- Formule somme excel colonne - Guide
- Trier une colonne excel - Guide
- Recherche automatique des chaînes ne fonctionne pas - Guide
2 réponses
via55
Messages postés
14508
Date d'inscription
mercredi 16 janvier 2013
Statut
Membre
Dernière intervention
2 janvier 2025
2 738
16 oct. 2014 à 13:57
16 oct. 2014 à 13:57
Bonjour
Directement par formule non mais en créant une fonction personnalisée oui , exemple dans le fichier joint :
https://www.cjoint.com/?0Jqn7sIxPc4
Une fois la fonction créée par macro elle est accessible comme toutes les autres fonctions Excel et se trouve dans la liste qui s'affiche quand ont tape les premières lettres de la fonction dans une cellule
Cdlmnt
Directement par formule non mais en créant une fonction personnalisée oui , exemple dans le fichier joint :
https://www.cjoint.com/?0Jqn7sIxPc4
Une fois la fonction créée par macro elle est accessible comme toutes les autres fonctions Excel et se trouve dans la liste qui s'affiche quand ont tape les premières lettres de la fonction dans une cellule
Cdlmnt
PHILOU10120
Messages postés
6394
Date d'inscription
lundi 16 avril 2012
Statut
Contributeur
Dernière intervention
2 janvier 2025
810
16 oct. 2014 à 13:59
16 oct. 2014 à 13:59
Bonjour
Voir avec cette formule, à adapter à votre besoin
=RECHERCHEV("*"&$d$1&"*";$A$1:$B$100;2;FAUX)
D1 contient le mots Chine
A1 : B100 zone de recherche
Voir avec cette formule, à adapter à votre besoin
=RECHERCHEV("*"&$d$1&"*";$A$1:$B$100;2;FAUX)
D1 contient le mots Chine
A1 : B100 zone de recherche
via55
Messages postés
14508
Date d'inscription
mercredi 16 janvier 2013
Statut
Membre
Dernière intervention
2 janvier 2025
2 738
16 oct. 2014 à 16:30
16 oct. 2014 à 16:30
Re,
Je confirme, ça ne marche pas dans ton cas,notre ami Philou que je salue au passage est allé un peu vite, sa formule est valable si tu avais Chine en D1 et que tu recherches ce mot parmi des chaines contenant Chine dans ta base de données mais toi c'est l'inverse que tu veux !
C'est pourquoi ne voyant pas comment le faire avec une recherchev classique je t'ai proposé une fonction personnalisée dédiée dans mon premier message
Cdlmnt
Je confirme, ça ne marche pas dans ton cas,notre ami Philou que je salue au passage est allé un peu vite, sa formule est valable si tu avais Chine en D1 et que tu recherches ce mot parmi des chaines contenant Chine dans ta base de données mais toi c'est l'inverse que tu veux !
C'est pourquoi ne voyant pas comment le faire avec une recherchev classique je t'ai proposé une fonction personnalisée dédiée dans mon premier message
Cdlmnt
Merci beaucoup pour cette réponse mais malheureusement ça ne marche pas non plus avec cette macro .
elle va récupérer la valeur selon un espace " " cependant voila comment se compose mon texte dans la cellule:
BV n°:4380 CHINE SAL CN VALEUR: 1-
Comment détecter le mot (chine) dans ce cas?
je suis pret à mettre un point virgule comme ceci (;CHINE;) si ça peut aider à trouver l'info
elle va récupérer la valeur selon un espace " " cependant voila comment se compose mon texte dans la cellule:
BV n°:4380 CHINE SAL CN VALEUR: 1-
Comment détecter le mot (chine) dans ce cas?
je suis pret à mettre un point virgule comme ceci (;CHINE;) si ça peut aider à trouver l'info
via55
Messages postés
14508
Date d'inscription
mercredi 16 janvier 2013
Statut
Membre
Dernière intervention
2 janvier 2025
2 738
16 oct. 2014 à 16:57
16 oct. 2014 à 16:57
Chez moi ça marche parfaitement avec tout ton texte (la fonction SPLIT place chaque texte séparés par des espaces dans un tableau) , à condition que Chine soit aussi écrit en majuscules dans ta base de données
Pour pallier le fait que des noms peuvent être en minuscules dans la base de données, il faut modifier ainsi la ligne de la macro qui fait la comparaison :
If Tableau(i) = UCase(Sheets("base").Range("A" & n)) Then trouve = n
Cdlmnt
Pour pallier le fait que des noms peuvent être en minuscules dans la base de données, il faut modifier ainsi la ligne de la macro qui fait la comparaison :
If Tableau(i) = UCase(Sheets("base").Range("A" & n)) Then trouve = n
Cdlmnt