Recherche 1er valeur contenant du texte
bigoudiii Messages postés 276 Date d'inscription Statut Membre Dernière intervention -
Bonjour le forum,
J'ai sur des lignes (ex A1 à A10) des valeurs égale à 0 ou à du texte. La plupart du temps je n'ai qu'une cellule avec du texte. C'est ce texte que je cherche à récupérer.
Savez-vous quelle formule je peux utiliser pour faire ressortir la 1er cellule contenant du texte sur une plage définie ?
Merci de votre aide.
Windows / Edge 123.0.0.0
- Recherche 1er valeur contenant du texte
- Recherche automatique des chaînes ne fonctionne pas - Guide
- Transcription audio en texte word gratuit - Guide
- Excel cellule couleur si condition texte - Guide
- Recherche image - Guide
- Texte barré whatsapp - Guide
9 réponses
La problématique consiste à récupérer la première cellule contenant du texte dans une plage A1:A10 lorsque les valeurs peuvent être 0 ou du texte, le texte pouvant résulter d'une formule.
Pour Excel 2021 ou Microsoft 365, la solution directe est =INDEX(FILTRE(A1:A10;ESTTEXTE(A1:A10));1), qui renvoie uniquement la première valeur texte.
En version plus ancienne d'Excel, une alternative consiste à utiliser ESTTEXTE avec LIGNE et GRANDE.VALEUR combinés à INDEX, comme =INDEX($A$1:$A$10;GRANDE.VALEUR((ESTTEXTE($A$1:$A$10)*LIGNE($A$1:$A$10));SOMMEPROD(ESTTEXTE($A$1:$A$10)*1))).
Un cas particulier évoqué porte sur des données disposées en ligne plutôt qu'en colonne, ce qui requiert une adaptation de l'approche.
Bonjour,
Une solution direct :
=INDEX($A$1:$A$10;GRANDE.VALEUR((ESTTEXTE($A$1:$A$10)*LIGNE($A$1:$A$10));SOMMEPROD(ESTTEXTE($A$1:$A$10)*1)))
Bonjour,
Autre solution, si tu disposes d'une version Excel 2021 ou 365
=FILTRE(A1:A10;ESTTEXTE(A1:A10))
Bonne fin d'apm
Edit, cette formule te donnera toutes les données "Texte" de A1:A10
Si tu ne veux que la première :
=INDEX(FILTRE(A1:A10;ESTTEXTE(A1:A10));1)
Bonjour à tous
La formule de Le Pingou fonctionne bien mais l'as tu essayé en matricielle (à valider avec Ctrl+Maj+Entrée)
Cdlmnt
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre questionBonjour Yuyu33,
Votre demande du début parle de colonne A1:A10 et il semble que ce n'est pas la réalité selon votre réponse au poste 5.
Merci de mettre un exemple correct sur un fichier que vous mettez sur Accueil de Cjoint.com et poster le lien.
Bonjour à tous,
Merci pour vos retours, en effet, je n'ai pas été suffisamment clair dans mes explications. Voici un extrait du fichier.
https://www.cjoint.com/c/NEphRyh5J7Z
Bonjour,
Ma proposition selon se que j'ai compris.
Le fichier : https://www.cjoint.com/c/NEpiIKeNkeZ
Hello,
Pour compléter la réponse de Le Pingou, hello !
Une proposition formule unique pour tout le tableau et pour Excel 365 :
=BYROW(A2:L34;LAMBDA(p;INDEX(FILTRE(p;ESTTEXTE(p));1)))
Une proposition toutes versions, formule matricielle à valider par Ctrl+Maj+Entrée :
=INDEX(A2:K2;EQUIV(VRAI;ESTTEXTE(A2:K2);0))
Une proposition version >=2010 à validation normale :
=INDEX(A2:K2;AGREGAT(15;6;COLONNE(A2:K2)/ESTTEXTE(A2:K2);1))

Merci pour votre retour, malheureusement mes données sont en ligne et non en colonne, et je ne peux pas rajouter une ligne sous chacune d'entres elles (j'en ai trop ????).
Avez-vous une autre idée ?
--/ Je te cite "J'ai sur des lignes (ex A1 à A10)" c'est complètement contradictoire j'ai donc choisi la colonne A1 à A10 -
A ta prochaine demande il faut joindre un fichier exemple.
Cordialement