Fonction Substituer à partir d'une colonne

Bonjour,

J'aimerais pouvoir supprimer des informations d'une colonne (ligne après ligne) en utilisant les informations se trouvant dans une autre colonne (la colonne toute entière à chaque fois).

La colonne A contient les informations à traiter ; la colonne B contient une liste d'informations à supprimer dans chacune des lignes de la colonne A.

Lorsque j'utilise la formule substitue() les premières lignes sont traitées mais lorsque la ligne suivante possède exactement les mêmes informations, elle n'est pas traitée.

Ce que je constate c'est qu'Excel utilise les information lignes après lignes pour réaliser les opérations alors que j'aimerais qu'il utilise la totalité de la colonne B pour traiter chacune des cellules de la colonne A.

J'ai mis mes données en PJ pour illustrer ma requête.

Merci de votre attention,

Bonne journée !

11substitue.xlsx (453.96 Ko)

Bonjour,

une solution via une macro. j'ai supprimé tous les auth en double, je pense qu'on pourrait faire la même chose pour les esp. La macro prend plusieurs dizaines de secondes avant de se terminer.

13substitue.xlsm (362.25 Ko)

Est-ce qu'il est possible de passer par une formule ?

Ce qui m'intéresse ce serait de pouvoir le refaire par la suite si nécessaire ; sauf que via une macro, je ne sais pas trop ce qui a été appliqué.

Autrement le résultat est bon !

Bonjour,

la macro remplace toutes les parties de texte de la colonne 2 trouvées en colonne 1 et met le résultat en colonne 3

Oui, mais je ne remarque rien d'autre qu'un document finalisé.

Par conséquent je ne sais pas comment m'y prendre si je veux réaliser la même tâche.

EDIT :

Je vois comment trouver la macro dans le document Excel, donc ça peut s'appliquer à d'autre document. Merci !

Quelqu'un aurait une idée pour résoudre le problème du départ ? A savoir : le soucis avec la formule Substitue().

bonjour,

à ma connaissance il n'y a pas fonction standard excel pour faire ce genre de substitution. Il faut passer par une macro ou une fonction personnalisée.Je t'ai fait une macro (à mon avis, c'est le plus adaptée pour le volume de données que tu as à traiter). Je t'ai aussi mis une fonction personnalisée (attends-toi à un long temps de calcul), fonction utilisée en colonne C

13substitue.xlsm (406.25 Ko)

Bonjour,

Désolé du temps de réponse, j'ai eu beaucoup d'ennuis ces derniers temps.

Merci beaucoup pour votre aide, ça fonctionne très bien, je vais conservé tout ça dans un coin de mon ordi car c'est le genre d'opération que je suis susceptible de devoir faire à nouveau.

Edit :

J'ai une liste d'auteur plus importante, mais je ne trouve pas quelle partie modifier pour prendre en compte cette liste (de 6641 elle passe à 66765 lignes) ; si j'intègre dans la formule =substituem la liste des auteurs jusqu'à 73406, les nouvelles lignes ne sont quand même pas prises en compte ; alors je suppose qu'il y a quelque chose dans la macro à modifier, pourtant, ça n'en a pas l'air.

Lorsque ça fonctionne, les auteurs ou les dates ne sont pas retirés en totalité.

Edit 2 :

En fait il suffisait de classer les lignes nombre de caractère décroissant et puis... d'attendre... longtemps ! (environ 4 heures)

Bonne journée !

Bonjour

J'ai regardé ton fichier car on peut sans doute faire en moins de temps.

Je pense que la liste des vocables à supprimer des Aut pose problème

En effet on trouve d'une part "Rabenh., 1863" et d'autre part "Rabenh."

Selon l'ordre dans lequel va s'effectuer le remplacement, notamment si Rabenh. se fait en premier, il va subsister ", 1863" qui n'a pas de correspondance dans cette liste.

Soit il faudrait décomposer davantage la liste des vocables à éliminer soit préciser des règles plus syntaxiques : par exemple supprime t'on tout ce qui suit une virgule ?

Bonjour,

Oui j'ai remarqué ça, les données étaient classées de manière à éviter ce problème ; donc lorsque j'ai intégré mes nouvelles lignes j'ai demandé à classer en fonction du nombre de caractères ce qui fait que le problème n'était plus.

Par contre j'ai quelques cellules, plutôt rares heureusement, dans lesquelles les données n'ont pas été modifiées correctement.

Exemple fictif : Roshevenia caerulea Blytt., 1847 traitée avec l'auteur Roshev devient : enia caerulea Blytt., 1847.

Dans l'ensemble les erreurs étaient suffisamment rares pour que je les corrige rapidement à la main.

Bonne journée !

Rechercher des sujets similaires à "fonction substituer partir colonne"