Rechercher toute occurrence d'un texte dans une colonne

Bonjour à tous,

Je suis (ultra) novice dans excel, et je ne l'utilise que rarement dans le cadre du travail.

C'est plutôt lors d'une utilisation dans le cadre de mes loisirs que j'ai rencontré un problème.

Je souhaite trouver toutes les occurrences d'un texte (genre "banane") dans une colonne, et avoir l'adresse de toutes les cellules contenant ce texte.

Je souhaite que ces adresses soient dans un tableau, par exemple sur la feuil2, car j'aimerais utiliser ces adresses pour d'autres choses ensuite.

J'ai essayé des fonctions comme celle-ci {SI(A1:A5000="banane"; LIGNE (A1:A5000)} (shift+ctrl+entrée car "matricielle"), on me renvoie FAUX, alors que je les vois, moi, les bananes. Par contre, si je commence mon range à partir d'une ligne contenant banane, on me donne bien le numéro de cette ligne, mais pas des suivante.

Soit {SI(A68:A5000="banane"; LIGNE (A68:A5000)} me donne A68, mais pas les autres occurrences. Toujours en prenant soin de valider avec shift+ctrl+entrée.

J'aurais aimé qu'on me réponde :

A68

A177

A456

etc.

J'ai également essayé des chemins détournés, mais ai été assez rapidement rattrapé par mon incompétence dans ce domaine.

J'ai trouvé une solution VBA qui me donne ces résultats dans un fenêtre message, mais ce n'est pas ce que je souhaite, et je ne m'y connais pas assez en VBA pour modifier le code en question.

J'ai trouvé des solutions sur des forums anglosaxons, mais bizarrement j'ai des messages d'erreur lorsque je les transcris en FR.

Existe t il une façon élégante et robuste pour obtenir ce que je souhaite ?

Vous remerciant d'avance de l'aide que vous pourrez m'apporter, et de votre tolérance,

F.

Bonjour et bienvenue

Essaye la matricielle :

=SIERREUR(ADRESSE(PETITE.VALEUR(SI(Feuil1!$A$1:$A$5000="BANANE";LIGNE($A$1:$A$5000));LIGNES($1:1));1);"")

Amicalement

Nad

Bonjour Nad,

Merci beaucoup pour votre aide !

Bizarrement la case ou je copie votre matricielle ne renvoie aucune réponse, elle reste vide, même si je la valide avec shift etc..

Il n'y a pas de message d'erreur par contre.

Voyant cela, j'ai essayé de la modifier, en spécifiant Feuil1! à des endroits qui me semblaient pertinents, mais rien.

Je me demande si je n'ai pas, par erreur, désactivé des fonctions, ou quelque chose.

Si vous avez du temps, pour ma culture, seriez vous assez gentille pour m'expliquer ce que fait votre matricielle ?

Merci encore,

F.

Re

Le nom de la feuille est bien Feuil1 ?

Mon fichier test

106fredouille.xlsx (12.17 Ko)

Nad

En effet, cela fonctionne très bien sur votre fichier.

J'ai probablement modifié une option quelque part dans le mien, et je vais tout recommencer et reprendre une feuille propre.

Je vous remercie une fois de plus.

Je me permettrai de revenir vers vous, soit pour confirmer que tout marche bien, soit pour poser d'autres questions...

Bon dimanche !

Cordialement,

F.

Re

Ne préfères-tu pas joindre ton fichier pour que j'y jette un coup d’œil ?

Nad

C'est très gentil, merci !

J'ai honte de mon fichier, c'est vraiment juste un truc qui m'est passé par la tête hier matin, et je déteste ne pas arriver à faire quelque chose.

En fait, pour faire court :

  • ce sont des données issues d'un serveur de jeu, sous forme de texte. Ce jeu se joue en plusieurs manches. Je lui ai demandé d'enregistrer ses log sous un format .txt
  • j'utilise ce texte pour faire des stats.
  • mais ne peux faire pour le moment que des stats sur l'ensemble du fichier, et non pas sur chaque manche. Or, je voudrais utiliser les deux types de données.
  • le texte utilise toujours "AHL2 Deathmatch" au début de chaque manche, et j'ai donc décidé de l'utiliser comme balise.
  • je veux retrouver les lignes de chaque "AHL2 Deathmatch", et faire des recherches de texte entre chacune de ces lignes, c'est à dire pour chaque manche.
C'est ridicule, il y a des tas de trucs plus importants à faire, j'en ai bien conscience.

Ce n'est donc pas pressé du tout.

Merci...

F.

PS : le problème semble venir du texte que je cherche, il est possible que les espaces, même entre "", posent problème. Je vais tenter de switcher tout "AHL2 Deathmatch" par autre chose, banane, tiens.

42etude-console.xlsx (106.03 Ko)

Re

La cellule qui empêche le bon fonctionnement de la formule est A107 dans Feuil1 car elle renvoie une erreur

capture

Si tu la supprimes, la formule ci-dessous fonctionnera

=SIERREUR(ADRESSE(PETITE.VALEUR(SI(Feuil1!$A$1:$A$5000="AHL2 Deathmatch";LIGNE($A$1:$A$5000));LIGNES($1:1));1);"")

Nad

C'est super, ça marche parfaitement, j'y retourne.

Merci beaucoup!!

Passez un bon dimanche.

Cordialement,

F.

Rechercher des sujets similaires à "rechercher toute occurrence texte colonne"