Calc: Recherche coordonnée du texte recherché dans colonne
Résolu
mod77
Messages postés
1284
Date d'inscription
Statut
Membre
Dernière intervention
-
mod77 -
mod77 -
Bonjour,
Je galère depuis trop longtemps pour si peu et si près du but alors je vous demande de l'aide svp.
J'ai acheté un lecteur de codes barres.
Lorsque je scanne un code, il se place en T3.
Ce code correspond à un des noms (aa, bb, cc, dd, ..) qui se trouvent dans une colonne de T4 à T16, et je veux:
1) retrouver ce nom dans la colonne T
2) avoir les coordonnées de (ligne, colonne) où se trouve ce nom dans cette colonne.
pour le 1) j'ai utilisé: RECHERCHE(T3;T4:T16;T4:T16) qui me donne un nombre en U3
pour le 2) j'ai utilisé: CELLULE("adresse";U3) que j'ai placé en V3
Mais le résultat est toujours $U$3 et pas ce que j'attends, pourtant c'est une simple recherche. alors que 1) fonctionne.
Pourquoi cela ne fonctionne pas SVP?
Savoir dire NON est un devoir et une force! N'ayez pas peur! L'union fait la force!
Passez en résolu si ça l'est!
Je galère depuis trop longtemps pour si peu et si près du but alors je vous demande de l'aide svp.
J'ai acheté un lecteur de codes barres.
Lorsque je scanne un code, il se place en T3.
Ce code correspond à un des noms (aa, bb, cc, dd, ..) qui se trouvent dans une colonne de T4 à T16, et je veux:
1) retrouver ce nom dans la colonne T
2) avoir les coordonnées de (ligne, colonne) où se trouve ce nom dans cette colonne.
pour le 1) j'ai utilisé: RECHERCHE(T3;T4:T16;T4:T16) qui me donne un nombre en U3
pour le 2) j'ai utilisé: CELLULE("adresse";U3) que j'ai placé en V3
Mais le résultat est toujours $U$3 et pas ce que j'attends, pourtant c'est une simple recherche. alors que 1) fonctionne.
Pourquoi cela ne fonctionne pas SVP?
Savoir dire NON est un devoir et une force! N'ayez pas peur! L'union fait la force!
Passez en résolu si ça l'est!
A voir également:
- Libreoffice calc rechercher dans une colonne
- Déplacer une colonne excel - Guide
- Trier une colonne excel - Guide
- Rechercher ou saisir une url - Guide
- Colonne word - Guide
- Formule somme excel colonne - Guide
2 réponses
Bonjour.
1) Ton titre évoque Calc, et tu es bien dans le forum Libre Office / Open Office ; pourtant tu sembles être équipé d'Excel 2002 (ta config) ...
2) C'est tellement mieux pour nous de consulter un fichier plutôt que de se battre avec une explication plus ou moins claire ... La preuve, ta formule ne donne pas "un nombre" mais le contenu de la cellule correspondant à T3. Alors envoie ton fichier
3) La formule =CELLULE("adresse";U3) renvoie
Il faut donc utiliser la fonction EQUIV qui te permet de délimiter la plage de recherche : =EQUIV(T3;$T$4:$T$16)
Cordialement.
1) Ton titre évoque Calc, et tu es bien dans le forum Libre Office / Open Office ; pourtant tu sembles être équipé d'Excel 2002 (ta config) ...
2) C'est tellement mieux pour nous de consulter un fichier plutôt que de se battre avec une explication plus ou moins claire ... La preuve, ta formule ne donne pas "un nombre" mais le contenu de la cellule correspondant à T3. Alors envoie ton fichier
1) Tu vas dans https://www.cjoint.com/
2) Tu cliques sur [Parcourir] pour sélectionner ton fichier (8192 Ko maxi)
3) Tu défiles vers le bas pour cliquer sur le bouton bleu [Créer le lien Cjoint]
4) Au bout de quelques secondes la deuxième page s'affiche, avec le lien en gras ; 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".
=>Voir la fiche https://www.commentcamarche.net/faq/29493-utiliser-cjoint-pour-heberger-des-fichiers
3) La formule =CELLULE("adresse";U3) renvoie
la référence de la première cellule de l’argument référence, sous forme de texte.C'est la formule =CELLULE("ligne";U3) qui renvoie
le numéro de ligne de la cellule de l’argument référence; mais elle affichera 3, car le nom que tu cherches dans la liste est déjà celui saisi en T3 !
Il faut donc utiliser la fonction EQUIV qui te permet de délimiter la plage de recherche : =EQUIV(T3;$T$4:$T$16)
Cordialement.
Bonsoir Raymond Pentier,
Oui cela fait tellement longtemps que je ne suis pas venu que je n'ai pas mis mon profil à jour.
Merci pour votre réponse j'avais avancé aussi de mon coté avec ça:
Je reprends correctement le problème car je ne peux le joindre sans l'anonymiser:
J'ai un tableau:
A partir de la colonne "F4" j'ai des noms.
A partir de la colonne "B4" j'ai des infos de présence "Vrai" ou "Faux" qui peuvent être forcé ensemble à "Faux" ou "Vrai" via une case à cocher
En T3 est la cellule où est écrit le nom scanné
J'ai procédé par étape:
en U3: EQUIV(T3;F1:F107;0)
En V3 j'ai mis la concaténation de "B" et contenu de U3: =CONCATENER("B";U3)
en W3 j'ai mis : =SI(CELLULE("CONTENTS";INDIRECT(V3))=0;"VRAI";"FAU")
en V4 j'ai mis la concaténation de "F" et contenu de U3: = concatener("F";U3)
et en V5 j'ai ajouté l'affichage du nom de la ligne qui est en colonne "F" via: indirect(V4)
et enfin en B4 j'ai mis: =SI(T3=V5;SI(CELLULE("CONTENTS";INDIRECT(V3))=0;"VRAI";"FAU")
J'ai fais cela car je veux, lorsque je tape un nom en T3, que la colonne "B" passe de "FAUX" en "VRAI"
Mais le problème c'est que lorsque, via une case à cocher, je mets toute ma colonne "B" à l'état "VRAI" ou "FAUX"
cela fait disparaitre ma formule "=SI(T3=V5;SI(CELLULE("CONTENTS";INDIRECT(V3))=0;"VRAI";"FAU")" de la colonne "B"
Je pense qu' une macro serait plus simple mais je ne sais pas comment faire:
j'ai pris une zone texte mais après ???
Comment trouver les coordonnées du nom, saisi dans la zone de texte, dans la colonne "F" puis mettre un "VRAI" dans la colonne "B" à la bonne ligne ???
that is the problem??
Oui cela fait tellement longtemps que je ne suis pas venu que je n'ai pas mis mon profil à jour.
Merci pour votre réponse j'avais avancé aussi de mon coté avec ça:
Je reprends correctement le problème car je ne peux le joindre sans l'anonymiser:
J'ai un tableau:
A partir de la colonne "F4" j'ai des noms.
A partir de la colonne "B4" j'ai des infos de présence "Vrai" ou "Faux" qui peuvent être forcé ensemble à "Faux" ou "Vrai" via une case à cocher
En T3 est la cellule où est écrit le nom scanné
J'ai procédé par étape:
en U3: EQUIV(T3;F1:F107;0)
En V3 j'ai mis la concaténation de "B" et contenu de U3: =CONCATENER("B";U3)
en W3 j'ai mis : =SI(CELLULE("CONTENTS";INDIRECT(V3))=0;"VRAI";"FAU")
en V4 j'ai mis la concaténation de "F" et contenu de U3: = concatener("F";U3)
et en V5 j'ai ajouté l'affichage du nom de la ligne qui est en colonne "F" via: indirect(V4)
et enfin en B4 j'ai mis: =SI(T3=V5;SI(CELLULE("CONTENTS";INDIRECT(V3))=0;"VRAI";"FAU")
J'ai fais cela car je veux, lorsque je tape un nom en T3, que la colonne "B" passe de "FAUX" en "VRAI"
Mais le problème c'est que lorsque, via une case à cocher, je mets toute ma colonne "B" à l'état "VRAI" ou "FAUX"
cela fait disparaitre ma formule "=SI(T3=V5;SI(CELLULE("CONTENTS";INDIRECT(V3))=0;"VRAI";"FAU")" de la colonne "B"
Je pense qu' une macro serait plus simple mais je ne sais pas comment faire:
j'ai pris une zone texte mais après ???
Comment trouver les coordonnées du nom, saisi dans la zone de texte, dans la colonne "F" puis mettre un "VRAI" dans la colonne "B" à la bonne ligne ???
that is the problem??
Bonjour Raymond Pentier,
J'ai enfin réussi à avoir ce que je souhaite par le biais d'une macro. Mais si je reviens vers vous c'est parce que dans cette formule où j'associe une concaténer et équiv
cela plante lorsque le nom recherché à un espace ou est mal écrit.
Existe -il une formule qui permet de trouver le 1er nom approchant celui tapé ?
exemple:
j'écris : "Adame" au lieu de "Adam"
j'aimerais qu'il l'affiche quand même puisqu'il est avant
Est-ce possible SVP ?
J'ai enfin réussi à avoir ce que je souhaite par le biais d'une macro. Mais si je reviens vers vous c'est parce que dans cette formule où j'associe une concaténer et équiv
=CONCATENER("B";EQUIV(T3;F1:F107;0))
cela plante lorsque le nom recherché à un espace ou est mal écrit.
Existe -il une formule qui permet de trouver le 1er nom approchant celui tapé ?
exemple:
j'écris : "Adame" au lieu de "Adam"
j'aimerais qu'il l'affiche quand même puisqu'il est avant
Est-ce possible SVP ?