Excel-Chercher texte dans cellule

Résolu/Fermé
Sam357 Messages postés 134 Date d'inscription dimanche 11 février 2007 Statut Membre Dernière intervention 15 mars 2018 - 28 févr. 2011 à 17:46
Sam357 Messages postés 134 Date d'inscription dimanche 11 février 2007 Statut Membre Dernière intervention 15 mars 2018 - 2 mars 2011 à 11:20
Bonjour,

Je voudrais pouvoir contrôler si un N# de colis renseigné sur une Immat camion dans la feuille Données correspond bien à ce qui est déclaré dans la feuille Contrôle.
Si le n# de Cde et le N# Colis sont identiques je souhaite que le résultat affiché en colonne E de la feuille Contrôle soit "Annoncé" sinon "Non trouvé".

Comme vous le constaterez dans la feuille Données lorsqu'il y a plusieurs colis sur une Immat camion, ceux-ci apparaissent dans la même cellule.

Ci-dessous le lien pour accéder au fichier test :
http://www.cijoint.fr/cjlink.php?file=cj201102/cijxlUJg0M.xls

D'avance merci à ceux qui pourront m'aider sur ce fichier.

Cordialement,
Sam357

6 réponses

Vaucluse Messages postés 26496 Date d'inscription lundi 23 juillet 2007 Statut Contributeur Dernière intervention 1 avril 2022 6 416
1 mars 2011 à 17:06
Re
peut être avec cette adaptation de ma proposition qui a l'ai de marcher:

=SI(ESTVIDE(C2);"";SI(NB.SI(Données!$O$2:$O$17;"*"&C2&"*")>0;INDEX(Données!$Q$2:$Q$17;EQUIV("*"&C2&"*";Données!$O$2:$O$17;0);1);"non trouvé"))

Pilas (bonjour): je planche depuis un moment sur RECHERCHEV et je n'arrive pas à la faire fonctionner avec le code "*"&C2"*"
Pourtant cela fonctionne en principe bien, mais là, elle renvoi soit 0 soit #/NA mais en aucun cas un N°
la formule que j'utilise est:
=RECHERCHEV("*"&C2"*";Données!$O$2:$Q$17;2;0)
et je n'arrive pas à avoir de résultat?
est ce du au décalage de ligne suite aux nombres de lignes dans les cellules?


je continue à chercher ( de temps en temps!)

crdlmnt

1
pilas31 Messages postés 1825 Date d'inscription vendredi 5 septembre 2008 Statut Contributeur Dernière intervention 24 avril 2020 643
1 mars 2011 à 17:42
Bonjour Vaucluse,

Je crois qu'il faut utiliser RECHERCHEV("*"&C2"*";Données!$O$2:$Q$17;3;0)
Il y a la colonne "P" qui est masquée !!!
0
Vaucluse Messages postés 26496 Date d'inscription lundi 23 juillet 2007 Statut Contributeur Dernière intervention 1 avril 2022 6 416
1 mars 2011 à 17:45
Exact, j'aurais pu m'en douter!!!!! avec le champ de O à Q
bien vu :-)
0
Sam357 Messages postés 134 Date d'inscription dimanche 11 février 2007 Statut Membre Dernière intervention 15 mars 2018 18
Modifié par Sam357 le 2/03/2011 à 11:16
Bonjour à vous 2,

Vos solutions donnent le résultat souhaité, il manquait juste un & sur celle avec le somme prod la deuxième (ça pourrait être utile à ceux qui voudront reprendre la solution.

RECHERCHEV("*"&C2&"*";Données!$O$2:$Q$17;3;0)

Merci pour votre aide.

Cordialement,
Sam357
0
pilas31 Messages postés 1825 Date d'inscription vendredi 5 septembre 2008 Statut Contributeur Dernière intervention 24 avril 2020 643
Modifié par pilas31 le 2/03/2011 à 11:11
Bonjour Sam357


Si tu as toujours l'erreur avec ma formule, peux-tu remettre un exemple sur cijoint avec l'exemple qui provoque l'erreur.

A moins que la solution de Vaucluse te convienne.
Je ne l'ai pas testée mais je lui fait confiance (sauf pour le calcul des plis à la poste...mais c'est une autre histoire ;)


Cordialement,
1
Sam357 Messages postés 134 Date d'inscription dimanche 11 février 2007 Statut Membre Dernière intervention 15 mars 2018 18
2 mars 2011 à 11:20
Bonjour Pilas31,

J'avais essayé de reproduire l'erreur dans mon fichier test mais sans réussite ...
Les deux propositions fonctionnent sans erreur :

=SI(ESTVIDE(C2);"";SI(NB.SI(Données!$O$2:$O$20;"*"&C2&"*")>0;INDEX(Données!$Q$2:$Q$20;EQUIV("*"&C2&"*";Données!$O$2:$O$20;0);1);"non trouvé"))

=SI(SOMMEPROD((Données!A$2:A$20=B2)*NON(ESTERREUR(CHERCHE(C2;Données!O$2:O$20))));RECHERCHEV("*"&C2&"*";Données!$O$2:$Q$20;3;0);"Non trouvé")

; )

Cordialement,
Sam357
0
Raymond PENTIER Messages postés 58732 Date d'inscription lundi 13 août 2007 Statut Contributeur Dernière intervention 29 novembre 2024 17 247
28 févr. 2011 à 18:06
Bonjour.

Avoir 3 lignes avec des contenus identiques rend impossible l'utilisation des fonctions de recherche, qui s'arrêtent dès la première occurrence.

Cordialement.
0
Raymond PENTIER Messages postés 58732 Date d'inscription lundi 13 août 2007 Statut Contributeur Dernière intervention 29 novembre 2024 17 247
28 févr. 2011 à 18:08
Plusieurs N° de colis dans une même cellule, ce n'est pas non plus recommandé dans une base de données. Est-ce qu'il y aurait une raison majeure pour organiser ainsi le tableau ?
0
Sam357 Messages postés 134 Date d'inscription dimanche 11 février 2007 Statut Membre Dernière intervention 15 mars 2018 18
1 mars 2011 à 13:34
Bonjour Raymond,

Oui, pour limiter le nombre de lignes qui peut être très conséquent pour un seul n# de commande.
Je suis le premier à reconnaître que certaines taches sont ensuite plus ardues que d'autres - à l'image de ma demande du jour ; ) .

Sam357
0
Vaucluse Messages postés 26496 Date d'inscription lundi 23 juillet 2007 Statut Contributeur Dernière intervention 1 avril 2022 6 416
28 févr. 2011 à 18:06
Bonjour
cette formule en E2 feuille contrôle
=SI(ESTVIDE(B2);"";SI(NB.SI(Données!$A$2:$A$17;B2)=0;"non trouvé";"Annoncé"))
crdlmnt

0
Vaucluse Messages postés 26496 Date d'inscription lundi 23 juillet 2007 Statut Contributeur Dernière intervention 1 avril 2022 6 416
Modifié par Vaucluse le 28/02/2011 à 18:18
non.. ça ne marche pas, j'ai, mal lu la question,, je reviens avec celle ci:
=SI(ESTVIDE(C2);"";SI(NB.SI(Données!$O$2:$O$17;"*"&C2&"*")>0;"Annoncé";"non trouvé"))

difficile de faire mieux pour le moment, la feuille données comportant pas mal de lignes redondantes.


crdlmnt
0
Sam357 Messages postés 134 Date d'inscription dimanche 11 février 2007 Statut Membre Dernière intervention 15 mars 2018 18
1 mars 2011 à 13:55
Bonjour vaucluse,

Merci ça fonctionne exactement comme je le voulais.
Pourriez vous m'expliquer le rôle de "*"&C2&"*" dans votre proposition ?

Cordialement,
Sam357
0
Vaucluse Messages postés 26496 Date d'inscription lundi 23 juillet 2007 Statut Contributeur Dernière intervention 1 avril 2022 6 416
1 mars 2011 à 16:26
Bonjour
le code "*"& Cell&"*" indique qu'il faut chercher dans les textes du champ celui qui contient la partie correspondante à celle indiquée dans la cellule
cela peut s'écrire comme ci dessus dans les cas de texte référence dans une cellule, ou avec un texte directement,soit:
"*texte*" pour un élément de texte n'importe où dans le texte
"*texte*" pour un élément à la fin du texte (ou Cell&"*")
"texte*" pour un élément à la fin du texte (ou "*"& Cell)
crdlmnt
0
Sam357 Messages postés 134 Date d'inscription dimanche 11 février 2007 Statut Membre Dernière intervention 15 mars 2018 18
2 mars 2011 à 09:36
Vaucluse,

Merci pour ces explications ça pourrait vraiment me servir.

Cordialement,
Sam357
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
pilas31 Messages postés 1825 Date d'inscription vendredi 5 septembre 2008 Statut Contributeur Dernière intervention 24 avril 2020 643
28 févr. 2011 à 18:31
Bonjour à tous,

S'il faut vérifier simultanément le n° de commande et le n° de colis, je propose d'utiliser SOMMEPROD comme ceci :

=SI(SOMMEPROD((Données!A$2:A$17=B2)*NON(ESTERREUR(CHERCHE(C2;Données!O$2:O$17))));"Annoncé";"Non trouvé")

a copier vers le bas..

J'ai pas trouvé plus simple !

A+

0
Sam357 Messages postés 134 Date d'inscription dimanche 11 février 2007 Statut Membre Dernière intervention 15 mars 2018 18
1 mars 2011 à 13:54
Bonjour pilas31,

Merci ça fonctionne.
Pourriez vous m'expliquer : NON(ESTERREUR(CHERCHE(C2;Données!O$2:O$17) dans votre proposition ?

Cordialement,
Sam357
0
pilas31 Messages postés 1825 Date d'inscription vendredi 5 septembre 2008 Statut Contributeur Dernière intervention 24 avril 2020 643
Modifié par pilas31 le 1/03/2011 à 14:06
Bonjour,

CHERCHE(C2;Données!O$2:O$17) est une fonction qui cherche une chaîne de caractère données dans un texte et qui retourne la position de cette chaîne dans le texte.

Si elle ne trouve pas, la fonction retourne une erreur.

Donc le NON(ESTERREUR(... signifie si la fonction ne retourne pas d'erreur cela veut donc dire qu'il y a bien le numéro de colis dans le texte...

A+
0
Sam357 Messages postés 134 Date d'inscription dimanche 11 février 2007 Statut Membre Dernière intervention 15 mars 2018 18
1 mars 2011 à 14:18
ok merci.
0
Sam357 Messages postés 134 Date d'inscription dimanche 11 février 2007 Statut Membre Dernière intervention 15 mars 2018 18
1 mars 2011 à 14:03
Re,

Je ne sais quelle proposition choisir merci à vous tous ; )


Je m'aperçois que j'ai oublié de formuler une demande dans l'hypothèse ou plutôt que de demander l'affichage d'"Annoncé" ou "Non trouvé". L'on souhaite que ce soit l'Immat camion (colonne Q de la feuille Données) qui soit indiquée ou "Non trouvé" en colonne E (lorsqu'il ne trouve pas le n# colis).

Quelle modification faudrait il apporter ?
Merci d'avance.

Cordialement,
Sam357
0
pilas31 Messages postés 1825 Date d'inscription vendredi 5 septembre 2008 Statut Contributeur Dernière intervention 24 avril 2020 643
Modifié par pilas31 le 1/03/2011 à 14:27
Alors soit on peut faire confiance à la feuille "Contrôle" et alors dans ma formule il suffit de remplacer "Annoncé" par D2 (et recopier vers le bas).

Soit il faut aller chercher dans la feuille "Données" et c'est un peut plus compliqué il faut faire un recherchev et donc remplacer "Annoncé" par :

RECHERCHEV(B2;Données!A$2:Q$17;17;FAUX)

Voila pour moi
0
Sam357 Messages postés 134 Date d'inscription dimanche 11 février 2007 Statut Membre Dernière intervention 15 mars 2018 18
Modifié par Sam357 le 1/03/2011 à 17:04
Re,

Je l'ai testé dans le fichier que j'avais joint et ça marche par contre sur mon fichier parmi les résultats je trouve des #N/A.
Après contrôle il s'agit de n# de colis qui apparaissent aussi bien dans l'équivalent de données que celui de contrôle.

Avez vous une idée de l'erreur qui expliquerait ce résultat ?

Cdt.
sam357
0
pilas31 Messages postés 1825 Date d'inscription vendredi 5 septembre 2008 Statut Contributeur Dernière intervention 24 avril 2020 643
1 mars 2011 à 16:35
Je ne comprends pas bien le cas qui ne fonctionne pas
0
Sam357 Messages postés 134 Date d'inscription dimanche 11 février 2007 Statut Membre Dernière intervention 15 mars 2018 18
Modifié par Sam357 le 1/03/2011 à 17:09
Avec la formule ci-dessous (adaptée à mon fichier) il m'arrive d'avoir ce type d'erreur #N/A. Alors que le B2 et C2 sont présents dans la zone de recherche de chacun des document.

=SI(SOMMEPROD((Données!A$2:A$20=B2)*NON(ESTERREUR(CHERCHE(C2;Données!O$2:O$20))));RECHERCHEV(B2;Données!A$2:Q$20;17;FAUX);"Non trouvé")

Cdt.
Sam357
0
pilas31 Messages postés 1825 Date d'inscription vendredi 5 septembre 2008 Statut Contributeur Dernière intervention 24 avril 2020 643
1 mars 2011 à 18:01
Bon pour l'instant je n'arrive pas à reproduire l'erreur...
0