Excel-Chercher texte dans cellule

Résolu
Sam357 Messages postés 134 Date d'inscription   Statut Membre Dernière intervention   -  
Sam357 Messages postés 134 Date d'inscription   Statut Membre Dernière intervention   -
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

A voir également:

6 réponses

Vaucluse Messages postés 26496 Date d'inscription   Statut Contributeur Dernière intervention   6 438
 
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   Statut Contributeur Dernière intervention   645
 
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   Statut Contributeur Dernière intervention   6 438
 
Exact, j'aurais pu m'en douter!!!!! avec le champ de O à Q
bien vu :-)
0
Sam357 Messages postés 134 Date d'inscription   Statut Membre Dernière intervention   18
 
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   Statut Contributeur Dernière intervention   645
 
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   Statut Membre Dernière intervention   18
 
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 58988 Date d'inscription   Statut Contributeur Dernière intervention   17 351
 
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 58988 Date d'inscription   Statut Contributeur Dernière intervention   17 351
 
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   Statut Membre Dernière intervention   18
 
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   Statut Contributeur Dernière intervention   6 438
 
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   Statut Contributeur Dernière intervention   6 438
 
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   Statut Membre Dernière intervention   18
 
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   Statut Contributeur Dernière intervention   6 438
 
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   Statut Membre Dernière intervention   18
 
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   Statut Contributeur Dernière intervention   645
 
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   Statut Membre Dernière intervention   18
 
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   Statut Contributeur Dernière intervention   645
 
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   Statut Membre Dernière intervention   18
 
ok merci.
0
Sam357 Messages postés 134 Date d'inscription   Statut Membre Dernière intervention   18
 
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   Statut Contributeur Dernière intervention   645
 
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   Statut Membre Dernière intervention   18
 
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   Statut Contributeur Dernière intervention   645
 
Je ne comprends pas bien le cas qui ne fonctionne pas
0
Sam357 Messages postés 134 Date d'inscription   Statut Membre Dernière intervention   18
 
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   Statut Contributeur Dernière intervention   645
 
Bon pour l'instant je n'arrive pas à reproduire l'erreur...
0