Bonjour
Je n'accepte personnellement d'expliquer que deux des aspects de ce code (tout le reste étant très/trop facilement "explicable" par seule consultation toute bête de l'aide VBA interne).
- Aspect 1 :
ce code crée et abonde un dictionnaire en éléments issus de l'éclatement de la constante Subst.
Tu trouveras sur ce forum (doté d'un moteur de recherche) tout ce qu'il te faut connaître en matière de dictionnaires ("Scripting.dictionary")
- Aspect 2 :
If dicoSubst.exists(c) Then Mid(y, i, 1) = dicoSubst(c)
il s'agit là de l'utilisation de l'instruction Mid, à ne pas confondre avec la fonction Mid.
L'instruction Mid permet de remplacer un nombre déterminé de caractères (1 dans ton cas) au sein d'une variable chaîne
Voilà. J'estime que tout le reste est trop simple et qu'il suffit de consulter l'aide VBA interne.
EDIT : j'ajoute qu'il est abusif d'utiliser un objet dictionnaire (à la fois lourd et de portabilité risquée) pour faire ce que fait cette fonction (remplacer certains caractères par un autre caractère).
Alors que suffit l'utilisation d'une simple chaîne de caractères et des fonctions instr et Replace pour faire aisément la même chose.
EDIT 2 : j'ajoute également que cette ligne de code utilisant l'instruction Mid "plantera" de surcroît sur certains (tels Œ, par exemple) qui, constitués à la base d'un seul caractère, doivent être transformés en deux caractères.
Partager