Effacer certains mots d'une cellules via une macro ?

Résolu
Bonsoir,

Pour un projet personnel, je recherche une méthode, de mettre en avant certaines données d'un texte depuis Excel ...

Par exemple, pour un texte au hasard ;
"On ne fait pas ce qu'on veut et cependant on est responsable de ce qu'on est."

Je souhaiterai mettre en avant les mots "cependant" et "responsables", chacun dans une cellule différente.

Si je rentre la phrase entière dans une cellule, disons "A1", et que je souhaiterai voir apparaître dans les cellues C1 et D1 les deux mots ci dessus, comment devrais-je m'y prendre ?

Existe t-il une macro pouvant "supprimer" certains mots d'une cellule dans une phrase ? Supprimer par exemple "On", "ne", "fait" etc ?
Une macro pour faire apparaître seulement certains mots d'une phrase selon la position ?

J'ai trouvé la macro permettant d'effacer un certains nombre de caractère de la cellule, mais ce n'est pas exactement ce que je cherche, le texte pouvant être soumis à être "modifié".
"=DROITE(A2;NBCAR(A2)-41)"

En somme l'idéal, serait une macro pouvant faire effacer des "mots" d'une phrase et ne laissant apparaître que ceux qui m'intéresse, ceci dans des cellules différentes ..

Auriez vous une idée, cela peut-il se faire par Excel ?

55 réponses

Résumé de la discussion

L’objectif décrit est d’extraire des mots précis d’un texte saisi dans une cellule et de les placer chacun dans une cellule distincte, par exemple extraire « pourtant » et « responsables ». Plusieurs solutions ont été évoquées, allant de macros qui suppriment des mots prédéfinis ou des segments entre marqueurs à des approches qui extraient des mots selon leur position, avec l’utilisation potentielle de listes de mots à enlever et de gestion de mots composés. Des échanges ont aussi exploré l’extension vers l’extraction d’« individus » à partir de listes et le placement des résultats dans des colonnes ou lignes via des procédures, en tenant compte du format et de la réutilisation des données. La solution s’avère opérationnelle et permet d’extraire les éléments souhaités, mais des ajustements restent envisagés pour gérer des suffixes et des variantes syntaxiques comme « de », « d’ » ou des formes similaires lors de l’analyse.

Bobot (l’IA à votre service)
  1. Je comprends mieux votre question.

    Enfaite à la base je souhaitais avoir la les individus sans le texte nettoyé, donc la suppression des mots reste nécessaire pour ce que je souhaite en faire oui.
    Donc ce que nous avons à présent semble parfait, merci encore pour votre aide, je marque résolu :)
    0
    1. Mais je ne peux pas puisque j'ai commencé avec un autre pseudo non enregistré ^^'
      0
  2. Pas de problème pour les deux analyses indépendantes l'une de l'autre, mais dépendantes toutes les deux des deux listes d'individus.
    C'est justement ce qui m'interpelle!

    Post #24
    Effectivement, certains individus du texte peuvent ne pas être contenus dans les Listes. C'est justement afin de savoir si certaines personnes font partis de ces listes que l'on cherche à comparer le contenu du 'texte' dans la page 'Rapport' et les individus des "Listes".

    Mais ces individus qui figurent dans le texte de la feuille rapport, sont ils obligatoirement dans la liste des pseudos de la feuille Personnages?
    Si c'est oui, on fait une analyse par comparaison avec la liste des pseudos (et on n'a plus besoin de la fonction nettoie)
    Si c'est non, on fait une analyse par suppression à partir de la liste des mots à enlever (ce qu'on a fait depuis le post #4).
    En fait, je me pose juste la question de la pertinence d'opérer à partir de la liste des mots à supprimer, c'est tout!
    0
    1. Je ne comprends pas très bien la question enfaîtes ..

      Avec ce classeur, vous êtes d'accord qu'il y a deux analyses, indépendantes l'une de l'autre, mais dépendantes toutes les deux des deux listes d'individus.

      Chaque analyse cherche à savoir si dans chaque texte ou liste à analyser, il y a des personnes présentes dans l'une des deux listes de bases, et si c'est le cas, cela s'affiche dans un tableau de résultats.
      D'où la nécessité de modifié certains pseudo qui auront des rajouts temporaires par rapport aux listes de bases.

      Au final, on cherche donc les individus présents uniquement dans l'une des listes, oui ?
      0
      1. Si ça te convient, tu peux mettre le problème à résolu.

        Une (dernière) remarque (cf RQ2 du post #21) , es tu sûr que dans le texte de la feuille rapport tu ne cherches pas uniquement des individus qui sont dans la liste des pseudos (feuille Personnages).
        Si c'est oui, on analyse bien par suppression des mots inutiles et le sujet est bien clos, du moins pour le principe.

        Bon jeu
        0
        1. Bon je ne retrouve pas le problème donc ça à l'air de fonctionner parfaitement ..

          Il semblerait que nous ayons notre version finale ! :D
          Je vous remercie énormément pour le temps passé la dessus et sauf erreur de ma part, je peu mettre en résolut ? A moins que vous n'ayez des modifications à apporter ? :)
          0
          1. Pour le bug
            - en fin de liste abrégée lignes 294 - > tu dois voir des formules (un reliquat d'un essai directement sur la feuille qui s'est révélé incompatible avec la recherche au niveau du code) donc, tu effaces tout ça (colonne D lignes 294 à 305)
            - si tu modifies un nom déjà en place, il est normal que la modification du pseudo ne se fasse pas. Tu dois passer obligatoirement par le bouton, ça peut peut être s'automatiser mais je crains un peu pour les conséquences quand tu vas coller en bloc une liste de noms complets en colonne B

            et une sorte de bug fait que je vois son "image" avec une opacité un peu réduite sur la cellule d'à côté
            Là je ne vois pas, le clic sur le bouton met à jour toute la liste, je n'arrive pas à reproduire cette erreur, fais déjà le ménage en colonne D et on verra ce qui se passe
            0
          2. Après réflexion cette liste nettoyée me sera certainement utile.
            Concernant ma seconde remarque, ne pas en tenir compte, je me suis rendu compte d'une bêtise de ma part ^^

            Alors, et bien c'est quasiment la version finale ça ! ;)
            Sauf que (Eh ! ..), j'ai apparemment un soucis avec votre bouton
            Au début il me semblait que cela fonctionnait ;
            Si je rajoute un nom à la fin de la liste, celui-ci est bien nettoyé automatiquement (pas besoin d'appuyer sur le bouton en haut de la seconde colonne)
            Mais si je modifie l'un des noms déjà en place, la mise à jour ne se fait pas automatiquement, et si j'appuie sur le bouton, celui ne fonctionne pas. Déjà, il ne "s'enfonce" pas comme pour dire qu'il est "enclenché", et une sorte de bug fait que je vois son "image" avec une opacité un peu réduite sur la cellule d'à côté, lorsque je reste appuyé sur le bouton.
            Aurais-je supprimer un texte essentiel faisant partie intégrante du code ?
            0
            1. Pour ce qui est de la liste nettoyée des personnages (colonne D)
              1. elle est fabriquée automatiquement avec le bouton
              2. elle permet, en passant, d'être affectée à la liste de validation permettant de remplir les Listes 1 et 2 de la feuille liste
              3. il n'y a pas de problème à la faire disparaitre de la vue
              3.1. soit en masquant la colonne D
              3.2. soit en l'envoyant dans la feuille -a ne pas modifier-
              3.3. soit en la supprimant carrément de la feuille Personnage, elle sera alors créée dans le code des procédures, mais on perdra l'option 2

              Et j'aurais également souhaité un tableau de résultats indépendant du premier, et qui serait sur la page de cette nouvelle longue liste
              Je ne comprends pas ce que tu veux dire par là

              Bon week end
              0
              1. Ravis de vous revoir, et bon week end à vous ;)

                Alors, dans l'idée, c'est tout à fait cela.
                Néanmoins j'aurais pensé qu'il n'y ai pas de "liste" nettoyée et que l'analyse donne directement le résultat sans passer par un nouveau tableau intermédiaire..

                Et j'aurais également souhaité un tableau de résultats indépendant du premier, et qui serait sur la page de cette nouvelle longue liste ?
                0
                1. OK, mais je ne pourrai ps m'y mettre ces jours ci

                  Bonne journée
                  0
                  1. Pas exactement non s'ils ont un 'de...' 'du...' c'est pour cela qu'il faudra que l'analyse ne tienne pas compte de ces bouts. Les seuls caractères utilisés seraient '.' '_' et ',' si on parle de celui pouvant être un 'de..' 'du'...
                    0
                    1. Est ce dans le texte de la feuille Rapport les "individus" seront écrits exactement comme dans les Listes 1 et 2 (respect des espaces, des tirets,de la casse, etc ...)?
                      Si oui, ça semble jouable, et j'ai besoin d'un caractère qui ne sera jamais utilisé (par exemple $, £, -, &, *, ...)
                      sinon .... ????
                      0
                      1. C'est absolument parfait et apparemment fonctionnel :D

                        Merci pour la précision, tout devrait pouvoir fonctionner comme souhaité alors.

                        Une remarque cependant concernant le message que je vous ai marqué dans le fichier envoyé ;
                        "Un soucis cependant ;
                        Certains "individus", auront parfois un "de ..." ou "d' ..." ou "du ..." ou ", ..."
                        L'idéal, et parce que ces suffixes risqueraient de fausser les résultats, il faudrait que lors de l'analyse, tout ces suffixes soient soit enlevés, soit non pris en compte, après je ne sais pas comment cela peut être fait ..."

                        Cela signifie que dans les listes 1 et 2, il y aura donc des "INDIVIDU#"
                        Sauf, que dans certains cas, il se peux que certains INDIVIDUS ait un .... non pas un suffixe mais j'ai oublié le mot ^^'
                        Bref par exemple, dans la liste 2, nous aurons : "INDIVIDU1" mais dans la "grande liste qui sera analysé, il se peut qu'il apparaisse comme "INDIVIDU1 de blabla" et dans ce cas là, il ne serait pas reconnu durant l'analyse, d'où ma demande s'il y a moyen, là aussi, de faire une analyse en supprimant les termes commençant par un "de ..." ou "d' ..." ou "du ..." ou ", ..." ?
                        Mais c'est en tout cas pile comme je le souhaitait, bravo et merci à vous :)
                        0
                        1. Je ne sais pas si j'ai bien compris
                          https://www.cjoint.com/?3DqoVPy7oSI

                          Une question, si ultérieurement je souhaite modifier le nom des feuilles, je devrais sans doute le modifier également dans vos algorithme ? Ou est-ce que seules les valeurs des pages ou leurs positions sont prises en compte ?
                          Tu n'as, en principe, pas à toucher au code des procédures . Si tu changes un nom de feuille ou l'emplacement d'une cellule clef, tu modifie la constante correspondante dans la liste des constantes
                          0
                          1. Alors, voici un exemple concret, avec une explication à côté ainsi qu'une petite question ^^'

                            Enfin du coup j'ai repris votre fichier en ajoutant une page pour montrer ce que je souhaiterai, je ne sais pas si cela vous serait plus pratique ou non pour travailler ?

                            https://www.cjoint.com/?CDqns4MXIo3
                            0
                            1. J'ai du mal avec le point 4

                              1. Comment nommer cette feuille, ça c'est accessoire
                              2. Peux tu m'envoyer un fichier avec uniquement un exemple de contenu de cette feuille
                              0
                              • 1
                              • 2
                              • 3