RECHERCHEV (repérer une suite de caractères)
Résolu/Fermé
identifiant-comment
Messages postés
341
Date d'inscription
lundi 20 avril 2009
Statut
Membre
Dernière intervention
6 mars 2017
-
28 avril 2009 à 12:27
identifiant-comment Messages postés 341 Date d'inscription lundi 20 avril 2009 Statut Membre Dernière intervention 6 mars 2017 - 7 mai 2009 à 18:22
identifiant-comment Messages postés 341 Date d'inscription lundi 20 avril 2009 Statut Membre Dernière intervention 6 mars 2017 - 7 mai 2009 à 18:22
A voir également:
- Recherchev chaine de caractère
- Caractère ascii - Guide
- Caractere speciaux - Guide
- Caractère spéciaux - Guide
- Chaine tnt gratuite sur mobile - Guide
- Plus de chaine tv - Guide
38 réponses
eriiic
Messages postés
24600
Date d'inscription
mardi 11 septembre 2007
Statut
Contributeur
Dernière intervention
21 octobre 2024
7 239
29 avril 2009 à 09:34
29 avril 2009 à 09:34
Bonjour,
pour moi www.cijoint.fr fonctionne, sinon tu as aussi www.cjoint.com
ne pas oublier de coller le lien ici
eric
pour moi www.cijoint.fr fonctionne, sinon tu as aussi www.cjoint.com
ne pas oublier de coller le lien ici
eric
eriiic
Messages postés
24600
Date d'inscription
mardi 11 septembre 2007
Statut
Contributeur
Dernière intervention
21 octobre 2024
7 239
29 avril 2009 à 10:26
29 avril 2009 à 10:26
essaie en B3 :
=INDEX([Tableau1.xls]GGG!$A$1:$A$32;MAX(NON(ESTERREUR(CHERCHE(A4;[Tableau1.xls]GGG!$D$19:$D$32)))*LIGNE($D$19:$D$32)))
formule matricielle à valider par shift+ctrl+entrée, si ok s'entoure de { }
Attention il y a un piège, bien lire $A$1:$A$32 dans le 1er paramètre et ça doit rester $A$1:
S'il y a plusieurs réponses c'est la dernière qui est ramenée pour simplifier la formule
=INDEX([Tableau1.xls]GGG!$A$1:$A$32;MAX(NON(ESTERREUR(CHERCHE(A4;[Tableau1.xls]GGG!$D$19:$D$32)))*LIGNE($D$19:$D$32)))
formule matricielle à valider par shift+ctrl+entrée, si ok s'entoure de { }
Attention il y a un piège, bien lire $A$1:$A$32 dans le 1er paramètre et ça doit rester $A$1:
S'il y a plusieurs réponses c'est la dernière qui est ramenée pour simplifier la formule
eriiic
Messages postés
24600
Date d'inscription
mardi 11 septembre 2007
Statut
Contributeur
Dernière intervention
21 octobre 2024
7 239
29 avril 2009 à 14:16
29 avril 2009 à 14:16
Allons-y, tu as mangé léger j'espère...
Le but est de trouver le n° de ligne où est ta donnée pour ramener ta valeur avec index(A1:A32,n°ligne)
(au passage voilà l'explication du A1)
Pour chercher une chaine dans une autre c'est cherche().
Si tu saisis =CHERCHE($A4;[Tableau1.xls]GGG!$D$19:$D$32) dans une cellule tu obtiens #valeur!.
Si tu met ton curseur dans la zone d'édition de la formule tu t'apercois en faisant F9 que la vraie réponse est une matrice des réponses de cherche() sur la plage $D$19:$D$32 soit {1;#VALEUR!;#VALEUR!;...;#VALEUR!}
Retiens bien F9, c'est très pratique pour les formules complexes. Tu sélectionnes la partie de la formule qui t'interesse et avec F9 tu vois si ça te ramène bien ce que tu attends.
Il faut se débarrasser des valeurs d'erreur qui remontent toujours d'où :
NON(ESTERREUR({1;#VALEUR!;#VALEUR!;...;#VALEUR!})) => {VRAI;FAUX;FAUX;...;FAUX}
qu'on multiplie par le n° ligne avec *LIGNE($D$19:$D$32) ce qui donne :
{VRAI;FAUX;FAUX;...;FAUX} * {19;20;...;32} => {19;0;0;...;0} car VRAI=1 et FAUX=0
On y est, les valeurs qui subsistent sont les n° de ligne où la chaine était présente, sur les autres on a 0.
Pour n'avoir plus qu'une valeur > 0 si elle existe au lieu d'une matrice on utilise
MAX({19;0;0;...;0}) => 19
C'est pour ça qu'on a le dernier n° de ligne où a été trouvé la valeur. Ca rallongerait la formule de ramener la plus petite valeur >0
Il ne reste plus qu'a ramener A19 avec index(A1:A32,19)
That's good ?
Je te laisse trouver avec F9 ou 'evaluation de formule' pourquoi le test marche ;-)
Le but est de trouver le n° de ligne où est ta donnée pour ramener ta valeur avec index(A1:A32,n°ligne)
(au passage voilà l'explication du A1)
Pour chercher une chaine dans une autre c'est cherche().
Si tu saisis =CHERCHE($A4;[Tableau1.xls]GGG!$D$19:$D$32) dans une cellule tu obtiens #valeur!.
Si tu met ton curseur dans la zone d'édition de la formule tu t'apercois en faisant F9 que la vraie réponse est une matrice des réponses de cherche() sur la plage $D$19:$D$32 soit {1;#VALEUR!;#VALEUR!;...;#VALEUR!}
Retiens bien F9, c'est très pratique pour les formules complexes. Tu sélectionnes la partie de la formule qui t'interesse et avec F9 tu vois si ça te ramène bien ce que tu attends.
Il faut se débarrasser des valeurs d'erreur qui remontent toujours d'où :
NON(ESTERREUR({1;#VALEUR!;#VALEUR!;...;#VALEUR!})) => {VRAI;FAUX;FAUX;...;FAUX}
qu'on multiplie par le n° ligne avec *LIGNE($D$19:$D$32) ce qui donne :
{VRAI;FAUX;FAUX;...;FAUX} * {19;20;...;32} => {19;0;0;...;0} car VRAI=1 et FAUX=0
On y est, les valeurs qui subsistent sont les n° de ligne où la chaine était présente, sur les autres on a 0.
Pour n'avoir plus qu'une valeur > 0 si elle existe au lieu d'une matrice on utilise
MAX({19;0;0;...;0}) => 19
C'est pour ça qu'on a le dernier n° de ligne où a été trouvé la valeur. Ca rallongerait la formule de ramener la plus petite valeur >0
Il ne reste plus qu'a ramener A19 avec index(A1:A32,19)
That's good ?
Je te laisse trouver avec F9 ou 'evaluation de formule' pourquoi le test marche ;-)
michel_m
Messages postés
16603
Date d'inscription
lundi 12 septembre 2005
Statut
Contributeur
Dernière intervention
16 décembre 2023
3 310
28 avril 2009 à 13:50
28 avril 2009 à 13:50
bonjour,
tu me dis si c'est ce que tu veux
dans une colonne , on recherche une cellule contenant 1 ou plusieurs occurrences de la valeur contenue dans A4
par exemple A4="aaa"
dans la colonne on a en dexcendant 1/="dd 2/= "fgaa1é" 3/ ="ppaaaffaaa" 4/= "a3a4a5"
c'est gagné pour le cas n°3 ?
tu me dis si c'est ce que tu veux
dans une colonne , on recherche une cellule contenant 1 ou plusieurs occurrences de la valeur contenue dans A4
par exemple A4="aaa"
dans la colonne on a en dexcendant 1/="dd 2/= "fgaa1é" 3/ ="ppaaaffaaa" 4/= "a3a4a5"
c'est gagné pour le cas n°3 ?
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
identifiant-comment
Messages postés
341
Date d'inscription
lundi 20 avril 2009
Statut
Membre
Dernière intervention
6 mars 2017
54
28 avril 2009 à 14:26
28 avril 2009 à 14:26
C'est ça !
Pour être plus précise, la cellule A4 comprend un identifiant (ex: RG-DOV-DOU1) et dans la colonne de recherche, les cellules comprennent chacune un ou plusieurs identifiants. Par exemple :
RG-DOV-DOU1
RG-VRE-BUI6
RG-TRA-DOU5
J'ai besoin que la formule repère à chaque fois que l'une des cellules de la colonne comprend le bon identifiant.
C'est bien ce que tu avais compris ?
Pour être plus précise, la cellule A4 comprend un identifiant (ex: RG-DOV-DOU1) et dans la colonne de recherche, les cellules comprennent chacune un ou plusieurs identifiants. Par exemple :
RG-DOV-DOU1
RG-VRE-BUI6
RG-TRA-DOU5
J'ai besoin que la formule repère à chaque fois que l'une des cellules de la colonne comprend le bon identifiant.
C'est bien ce que tu avais compris ?
michel_m
Messages postés
16603
Date d'inscription
lundi 12 septembre 2005
Statut
Contributeur
Dernière intervention
16 décembre 2023
3 310
28 avril 2009 à 14:35
28 avril 2009 à 14:35
DONC,
Si dans ta colonne de recherche, il y a RG OU DOV OU DOU c'est OK et on cherche la valeur dans même ligne colonne 6 ?
Si dans ta colonne de recherche, il y a RG OU DOV OU DOU c'est OK et on cherche la valeur dans même ligne colonne 6 ?
identifiant-comment
Messages postés
341
Date d'inscription
lundi 20 avril 2009
Statut
Membre
Dernière intervention
6 mars 2017
54
28 avril 2009 à 14:43
28 avril 2009 à 14:43
Je ne suis pas très douée avec les ET et OU logiques, mais il me semble plutôt que ce que je cherche c'est l'identifiant RG ET DOV ET DOU ET 1 ?
Il faut noter aussi que les formats d'identifiants risquent de changer, ce qui risque de faire planter du même coup toutes les formules.
Mais bon, ça, je m'adapterai : une fois que j'aurais compris le truc, il ne restera plus qu'à reproduire et ça m'intéresse de voir à quoi tu penses. :)
Tout de même, il n'existe pas un truc comme en sql (mais je ne sais même plus quel signe c'est en sql) qui permet de chercher une suite de caractères, quels que soient ceux qui précèdent et ceux qui suivent ?
Il faut noter aussi que les formats d'identifiants risquent de changer, ce qui risque de faire planter du même coup toutes les formules.
Mais bon, ça, je m'adapterai : une fois que j'aurais compris le truc, il ne restera plus qu'à reproduire et ça m'intéresse de voir à quoi tu penses. :)
Tout de même, il n'existe pas un truc comme en sql (mais je ne sais même plus quel signe c'est en sql) qui permet de chercher une suite de caractères, quels que soient ceux qui précèdent et ceux qui suivent ?
eriiic
Messages postés
24600
Date d'inscription
mardi 11 septembre 2007
Statut
Contributeur
Dernière intervention
21 octobre 2024
7 239
28 avril 2009 à 19:57
28 avril 2009 à 19:57
Bonsoir tout le monde,
Il faudrait que tu sois plus précises.
Veux-tu savoir seulement s'il est présent ?
Veux-tu savoir sa position (cellule) ?
Veux-tu savoir toutes les positions s'il est présent dans plusieurs cellules ?
Si c'est le 3ème cas ça serait plus simple d'ajouter une colonne E et mettre en E19 :
=EQUIV(FAUX;ESTERREUR(CHERCHE($A$4;F19:AE19));0)
(formule matricielle à valider avec shift+ctrl+entrée)
Si A4 est absent de la ligne tu as #N/A.
S'il est présent tu as le n° de colonne
Il faudrait que tu sois plus précises.
Veux-tu savoir seulement s'il est présent ?
Veux-tu savoir sa position (cellule) ?
Veux-tu savoir toutes les positions s'il est présent dans plusieurs cellules ?
Si c'est le 3ème cas ça serait plus simple d'ajouter une colonne E et mettre en E19 :
=EQUIV(FAUX;ESTERREUR(CHERCHE($A$4;F19:AE19));0)
(formule matricielle à valider avec shift+ctrl+entrée)
Si A4 est absent de la ligne tu as #N/A.
S'il est présent tu as le n° de colonne
identifiant-comment
Messages postés
341
Date d'inscription
lundi 20 avril 2009
Statut
Membre
Dernière intervention
6 mars 2017
54
28 avril 2009 à 21:12
28 avril 2009 à 21:12
Bonsoir Eriiiic !
Je vais essayer d'être plus précise, mais je dois avouer que j'ai tellement cherché que cela commence à s'embrouiller dans ma tête.
Ce que je veux c'est qu'une formule dans la colonne B(tableau2) dme renvoie des informations en fonction de l'identifiant présent en colonne A(tableau2) : ex. RG-DOV-DOU1.
Or il se trouve que la colonne de mon tableau 1 (la matrice de ma formule) comprend plusieurs de ces identifiants par cellule.
Est-ce que je suis plus claire comme ça ?
Merci d'avance !
Je vais essayer d'être plus précise, mais je dois avouer que j'ai tellement cherché que cela commence à s'embrouiller dans ma tête.
Ce que je veux c'est qu'une formule dans la colonne B(tableau2) dme renvoie des informations en fonction de l'identifiant présent en colonne A(tableau2) : ex. RG-DOV-DOU1.
Or il se trouve que la colonne de mon tableau 1 (la matrice de ma formule) comprend plusieurs de ces identifiants par cellule.
Est-ce que je suis plus claire comme ça ?
Merci d'avance !
eriiic
Messages postés
24600
Date d'inscription
mardi 11 septembre 2007
Statut
Contributeur
Dernière intervention
21 octobre 2024
7 239
28 avril 2009 à 21:19
28 avril 2009 à 21:19
Est-ce que je suis plus claire comme ça ?
non
me renvoie des informations tu trouves ça précis toi ?
Dépose un fichier exemple sur cijoint.fr et colle ici le lien fourni.
Et n'aies pas peur de mettre le maximum d'infos
eric
non
me renvoie des informations tu trouves ça précis toi ?
Dépose un fichier exemple sur cijoint.fr et colle ici le lien fourni.
Et n'aies pas peur de mettre le maximum d'infos
eric
identifiant-comment
Messages postés
341
Date d'inscription
lundi 20 avril 2009
Statut
Membre
Dernière intervention
6 mars 2017
54
28 avril 2009 à 21:52
28 avril 2009 à 21:52
Brouf, t'as raison, ce que j'ai écris ne veut rien dire. Je devrais pas m'y remettre après avoir quitté le boulot :)
Je regarde ça demain matin et j'essaie de t'envoyer le fichier.
Je regarde ça demain matin et j'essaie de t'envoyer le fichier.
identifiant-comment
Messages postés
341
Date d'inscription
lundi 20 avril 2009
Statut
Membre
Dernière intervention
6 mars 2017
54
29 avril 2009 à 09:25
29 avril 2009 à 09:25
Re...
On va essayer de faire ça de façon basique.
Je veux que ma formule dise :
1. récupère la valeur dans la colonne Tableau1A
2. recherche cette valeur dans la colonne Tableau2D
3. lorsque tu trouves cette valeur dans la colonne Tableau2D, récupère le trigramme correspondant dans la colonne Tableau2A
4. affiche ce trigramme dans la colonne qui contient la formule (Tableau2B)
Le problème est que, si la colonne Tableau1A ne contient qu'une valeur (de type identifiant RG-DOV-DOU1) par cellule, la colonne Tableau2D, elle peut en contenir plusieurs.
Exemple de contenu d'un cellule de la colonne Tableau2D :
RG-DOV-DOU1
RG-VRE-BUI6
RG-TRA-DOU5
J'ai donc besoin que, dans l'étape 2, la formule soit capable de dire plus précisément : recherche dans la colonne Tableau2D les cellules qui contiennent entre autres cet identifiant.
Je ne peux malheureusement pas t'envoyer les tableaux tels quels, clause de confidentialité oblige. Je te fais parvenir des modèles simplifiés.
Je suis de moins en moins sûre de pouvoir y parvenir avec des formules Excel. S'il faut passer par le VBA, ma foi, je ferai ce qu'il faut :)
On va essayer de faire ça de façon basique.
Je veux que ma formule dise :
1. récupère la valeur dans la colonne Tableau1A
2. recherche cette valeur dans la colonne Tableau2D
3. lorsque tu trouves cette valeur dans la colonne Tableau2D, récupère le trigramme correspondant dans la colonne Tableau2A
4. affiche ce trigramme dans la colonne qui contient la formule (Tableau2B)
Le problème est que, si la colonne Tableau1A ne contient qu'une valeur (de type identifiant RG-DOV-DOU1) par cellule, la colonne Tableau2D, elle peut en contenir plusieurs.
Exemple de contenu d'un cellule de la colonne Tableau2D :
RG-DOV-DOU1
RG-VRE-BUI6
RG-TRA-DOU5
J'ai donc besoin que, dans l'étape 2, la formule soit capable de dire plus précisément : recherche dans la colonne Tableau2D les cellules qui contiennent entre autres cet identifiant.
Je ne peux malheureusement pas t'envoyer les tableaux tels quels, clause de confidentialité oblige. Je te fais parvenir des modèles simplifiés.
Je suis de moins en moins sûre de pouvoir y parvenir avec des formules Excel. S'il faut passer par le VBA, ma foi, je ferai ce qu'il faut :)
identifiant-comment
Messages postés
341
Date d'inscription
lundi 20 avril 2009
Statut
Membre
Dernière intervention
6 mars 2017
54
29 avril 2009 à 09:26
29 avril 2009 à 09:26
Je tiens les tableaux prêts, mais le lien que tu m'as fourni ne fonctionne pas...
identifiant-comment
Messages postés
341
Date d'inscription
lundi 20 avril 2009
Statut
Membre
Dernière intervention
6 mars 2017
54
29 avril 2009 à 09:38
29 avril 2009 à 09:38
C'est fait, voici les liens !
http://www.cijoint.fr/cjlink.php?file=cj200904/cijqVT7V8J.xls
http://www.cijoint.fr/cjlink.php?file=cj200904/cijMzGkXnG.xls
http://www.cijoint.fr/cjlink.php?file=cj200904/cijqVT7V8J.xls
http://www.cijoint.fr/cjlink.php?file=cj200904/cijMzGkXnG.xls
eriiic
Messages postés
24600
Date d'inscription
mardi 11 septembre 2007
Statut
Contributeur
Dernière intervention
21 octobre 2024
7 239
29 avril 2009 à 10:09
29 avril 2009 à 10:09
Je suppose que tableau1 s'appelle tableau2 et vice-versa ???
identifiant-comment
Messages postés
341
Date d'inscription
lundi 20 avril 2009
Statut
Membre
Dernière intervention
6 mars 2017
54
29 avril 2009 à 10:11
29 avril 2009 à 10:11
J'y crois pas, j'ai fait ça ? Mais arrêtez moi !!
...Tu as raison, c'est bien ça, faut inverser les noms des fichiers.
...Tu as raison, c'est bien ça, faut inverser les noms des fichiers.
identifiant-comment
Messages postés
341
Date d'inscription
lundi 20 avril 2009
Statut
Membre
Dernière intervention
6 mars 2017
54
29 avril 2009 à 10:34
29 avril 2009 à 10:34
Mon vieux, j'ai pas encore compris comment t'as fait, et pour l'instant je ne suis pas encore sûre que ce soit exactement ce que je cherche, mais j'ai déjà réussi à le faire fonctionner dans une des cellules de l'un des fichiers que je t'avais envoyés et rien que pour ça t'es un génie.
Je te fais signe dès que j'ai fini de voir comment je peux déployer ta formule.
Merci !
Je te fais signe dès que j'ai fini de voir comment je peux déployer ta formule.
Merci !
eriiic
Messages postés
24600
Date d'inscription
mardi 11 septembre 2007
Statut
Contributeur
Dernière intervention
21 octobre 2024
7 239
29 avril 2009 à 10:44
29 avril 2009 à 10:44
Pour comprendre la formule fais 'outils / audit de formules / evaluation de formule' et clique sur 'evaluer'
Elle s'execute pas à pas et te souligne la partie qui sera évaluée au prochain pas
Elle s'execute pas à pas et te souligne la partie qui sera évaluée au prochain pas
identifiant-comment
Messages postés
341
Date d'inscription
lundi 20 avril 2009
Statut
Membre
Dernière intervention
6 mars 2017
54
29 avril 2009 à 11:31
29 avril 2009 à 11:31
Putain, ça marche. You're my hero.
Mais c'est frustrant, ça marche, mais je ne comprends pas comment. Tu veux bien m'expliquer ce que fait ta formule exactement, stp ?
J'ai fait quelques tests : c'est la dernière valeur trouvée (dans l'ordre des lignes auxquelles les cellules appartiennent) qui est retenue, c'est ça ?
Et pourquoi $A$1?
Il ne me reste plus qu'à faire apparaître un message d'erreur quand aucune valeur n'est trouvée, et je suis ok !
Merci, sincèrement, tu m'as rendu un grand service.
Mais c'est frustrant, ça marche, mais je ne comprends pas comment. Tu veux bien m'expliquer ce que fait ta formule exactement, stp ?
J'ai fait quelques tests : c'est la dernière valeur trouvée (dans l'ordre des lignes auxquelles les cellules appartiennent) qui est retenue, c'est ça ?
Et pourquoi $A$1?
Il ne me reste plus qu'à faire apparaître un message d'erreur quand aucune valeur n'est trouvée, et je suis ok !
Merci, sincèrement, tu m'as rendu un grand service.
identifiant-comment
Messages postés
341
Date d'inscription
lundi 20 avril 2009
Statut
Membre
Dernière intervention
6 mars 2017
54
29 avril 2009 à 11:40
29 avril 2009 à 11:40
Comment tu fais pour remonter "Recensement des cas de test pour le lot XX" si aucune valeur n'est remontée ? C'est pour ça, la cellule A1 ?
J'ai changé la veleur de cette cellule, et je ne change pas de message d'erreur...
J'ai changé la veleur de cette cellule, et je ne change pas de message d'erreur...