Recherche d'un ou plusieurs text
Résolu/Fermé
A voir également:
- Recherche d'un ou plusieurs text
- Rechercher ou entrer l'adresse - Guide
- Adresse IP locale : comment la trouver facilement - Guide
- Recherche musique - Guide
- Recherche automatique des chaînes ne fonctionne pas - Guide
- Google recherche par image - Guide
4 réponses
Vaucluse
Messages postés
26496
Date d'inscription
lundi 23 juillet 2007
Statut
Contributeur
Dernière intervention
1 avril 2022
6 403
9 avril 2015 à 14:39
9 avril 2015 à 14:39
Bonjour
voyez si vous pouvez adapter ce modèle et revenez si difficultés ou besoin de complément
https://www.cjoint.com/c/EDjoZG3sTN7
crdlmnt
voyez si vous pouvez adapter ce modèle et revenez si difficultés ou besoin de complément
https://www.cjoint.com/c/EDjoZG3sTN7
crdlmnt
DjiDji59430
Messages postés
4071
Date d'inscription
samedi 19 avril 2008
Statut
Membre
Dernière intervention
12 juin 2024
655
9 avril 2015 à 14:06
9 avril 2015 à 14:06
Bonjour Karim, et bienvenue,
Quand on joint un fichier-test avec tous les cas, ou le fichier, c'est plus commode pour les intervenants.
1) Tu vas dans https://www.cjoint.com/
2) Tu cliques sur [Parcourir] pour sélectionner ton fichier
3) Tu descends en bas de la page pour cliquer sur [Créer le lien Cjoint]
4) Au bout de quelques secondes la deuxième page s'affiche, avec le lien en bleu souligné ; tu le sélectionnes et tu fais "Copier"
5) Tu reviens dans ta discussion sur CCM, et dans ton message de réponse tu fais "Coller".
Cordialement.
Quand on joint un fichier-test avec tous les cas, ou le fichier, c'est plus commode pour les intervenants.
1) Tu vas dans https://www.cjoint.com/
2) Tu cliques sur [Parcourir] pour sélectionner ton fichier
3) Tu descends en bas de la page pour cliquer sur [Créer le lien Cjoint]
4) Au bout de quelques secondes la deuxième page s'affiche, avec le lien en bleu souligné ; tu le sélectionnes et tu fais "Copier"
5) Tu reviens dans ta discussion sur CCM, et dans ton message de réponse tu fais "Coller".
Cordialement.
Frenchie83
Messages postés
2240
Date d'inscription
lundi 6 mai 2013
Statut
Membre
Dernière intervention
11 août 2023
338
9 avril 2015 à 14:07
9 avril 2015 à 14:07
Bonjour
Exemple avec la cellule à tester en A1
=SI(SIERREUR(CHERCHE("vis";A1;1);0)+SIERREUR(CHERCHE("rondelle";A1;1);0)>0;"visserie";SI(SIERREUR(CHERCHE("contact";A1;1);0)+SIERREUR(CHERCHE("connecteur";A1;1);0)>0;"composant électrique"))
Cdlt
Exemple avec la cellule à tester en A1
=SI(SIERREUR(CHERCHE("vis";A1;1);0)+SIERREUR(CHERCHE("rondelle";A1;1);0)>0;"visserie";SI(SIERREUR(CHERCHE("contact";A1;1);0)+SIERREUR(CHERCHE("connecteur";A1;1);0)>0;"composant électrique"))
Cdlt
via55
Messages postés
14426
Date d'inscription
mercredi 16 janvier 2013
Statut
Membre
Dernière intervention
6 juin 2024
2 711
9 avril 2015 à 14:31
9 avril 2015 à 14:31
Bonjour Karim
Par formule :
=SI(OU(NB.SI(A1;"*vis*");NB.SI(A1;"*rondelle*"));"visserie";SI(OU(NB.SI(A1;"*contact*");NB.SI(A1;"*connecteur*"));"composant électrique";""))
Par contre si tu as une longue liste par famille et plusieurs familles la formule deviendra vite une usine à gaz. Dans ce cas il vaut mieux passer par une fonction personnalisée
Exemple :
Le code de la fonction se met dans un module dans l'éditeur VBA (ALT F11 pour ouvrir Editeur puis Insertion Module Copier et coller la macro)
Dans les lignes Tableau de la macro tu établis tes listes de mots par maille séparés par des /
Dans la boucle qui suit tu indiques à la fin du If le nom de la famille
Tu peux rajouter autant de lignes que necessaires pour de nouvelels familles
Ensuite la fonction s'utilise dans la plage Excel comme toute fonction Excel ex =famille(A1) renverra visserie s'il y a rondelle quelque part dans la chaine de caractères en A1 (rondelles xx, lot de rondelles etc)
Cdlmnt
Via
Par formule :
=SI(OU(NB.SI(A1;"*vis*");NB.SI(A1;"*rondelle*"));"visserie";SI(OU(NB.SI(A1;"*contact*");NB.SI(A1;"*connecteur*"));"composant électrique";""))
Par contre si tu as une longue liste par famille et plusieurs familles la formule deviendra vite une usine à gaz. Dans ce cas il vaut mieux passer par une fonction personnalisée
Exemple :
Function famille(plage As Range) chaine = plage.Value Dim Tableau() As String Dim i As Integer 'découpe la chaine en fonction des/ 'le résultat de la fonction Split est stocké dans un tableau Tableau = Split("vis/écrou/rondelle", "/") 'boucle sur le tableau pour voir si le mot existe dans la chaine For i = 0 To UBound(Tableau) ' s'il existe result prend le nom de la famille If InStr(chaine, Tableau(i)) > 0 Then result = "visserie" Next Tableau = Split("connecteur/contact/fusible", "/") For i = 0 To UBound(Tableau) If InStr(chaine, Tableau(i)) > 0 Then result = "composant électrique" Next Tableau = Split("tournevis/pince/marteau/clé", "/") For i = 0 To UBound(Tableau) If InStr(chaine, Tableau(i)) > 0 Then result = "outillage" Next famille = result End Function
Le code de la fonction se met dans un module dans l'éditeur VBA (ALT F11 pour ouvrir Editeur puis Insertion Module Copier et coller la macro)
Dans les lignes Tableau de la macro tu établis tes listes de mots par maille séparés par des /
Dans la boucle qui suit tu indiques à la fin du If le nom de la famille
Tu peux rajouter autant de lignes que necessaires pour de nouvelels familles
Ensuite la fonction s'utilise dans la plage Excel comme toute fonction Excel ex =famille(A1) renverra visserie s'il y a rondelle quelque part dans la chaine de caractères en A1 (rondelles xx, lot de rondelles etc)
Cdlmnt
Via
9 avril 2015 à 15:11
Toujours au top ! ta solution est meilleure que la mienne !
Bien Cdlmnt
Via
9 avril 2015 à 17:02
Et là, c'est moi qui te tire le chapeau
Bien amicalement
9 avril 2015 à 18:28
merci via, djidji, frenchie, merci pour vous tous..