tu sélectionnes tes deux colonnes
tu fais Edition/Remplacer (ou Ctrl + H)
Dans la case Rechercher, tu entres ~* soit un tilde (AltGr + é) suivi de l'étoile
Dans la case Remplacer, tu entres - (un tiret)
Tu cliques sur Options, et tu décoches "Totalité du contenu de la cellule", puis Remplacer tout
Le code, c'est pour une macro, si jamais tu en avais eu besoin
Donc c'est le coup de la macro qui m'intéresse car le contenu de cette feuille (plusieurs milliers de lignes) change assez régulièrement et je souhaiterais oublier complètement cette macro qui s'exécuterait donc systématiquement (comme s'il y avait une fonction "substitue" dans ces deux colonnes qui me préoccupent).
Et, pour être complètement clair, les macros dans Excel, je ne sais même pas par quel bout cela commence.
Pour la macro,
Fais un clic droit sur le nom de l'onglet concerné, et sélectionne "Visualiser le code"
Tu as alors une feuille blanche, tu es sur l'éditeur VBE
Copie ce code dans la feuille
Code:
Private Sub Worksheet_Change(ByVal Target As Range)
Columns(29).Replace What:="~*", Replacement:="-", LookAt:=xlPart
End Sub
Dès que tu changeras quelque chose dans ta feuille, les * vont être remplacées par des tirets dans la colonne 29 soit "AC"
Ferme l'éditeur VBE, et fais des essais
Les données que je reçois sont quelques milliers de lignes de 5 colonnes que je recopie dans les premières colonnes de ma feuille (C à G actuellement).
L'une de ces colonnes (la colonne "E" actuellement) est une suite de phrases (des noms d'objets) plus ou moins mal formées contenant des trucs comme du code html et des entités html ou unicode.
Une petite foultitude de "substitue" conduit à avoir, en colonne AC, des phrases propres mais il reste ce caractère "*" que je n'arrive pas à remplacer.
J'aurais souhaité quelque chose qui se comporterait, en colonne AC, comme les "substitue" qui précèdent.
L'idée n'est pas d'organiser ma paresse mais de penser à celui qui me remplacerait si je dois m'absenter et donc d'automatiser complètement le travail, c'est à dire : copie des données reçues -> récupération des données transformées et pas d'intervention entre les deux.
Honte sur moi ! La substitution de l'astérisque fonctionne. Dans mes substitutions imbriquées il y avait un
SUBSTITUE(A1;""";"-")
au lieu de
SUBSTITUE(A1;"""";"-")
C'est lui qui plantait régulièrement ma formule mais Excel me disait que l'erreur était sur la substitution de l'astérisque.