Bonjour @WIARD 
je te remercie de partager avec nous  cette ébauche
j'ai regardé un peu plus près  ton fichier
mais déjà au premier regard   on est loin  l'un de l'autre en terme de méthode
tout travailler en string  comme tu le fait  causera toujours des erreurs 
difficile d'intégrer ça dans l'environnement VBE
punaise je sais pas ou tu es parti ni même si ton truc fonctionne mais tu a du de filer une sacré migraine a faire ça moi je fais déjà des crises d'épilepsie  
😉
je salut le travail quand même car il y a du boulot de réflexion, d'heure de test , de codage  et de perte de cheveux
c'est indéniable 
mais  c'est pas du tout la bonne méthode  selon moi
l'avantage de ma méthode qui utilise le langage html(langage balisé) permet de déterminer 
CLAIREMENT  les blocs 
la chose est hyper simple 
ligne par ligne on lit le code et on encode des bloc html
si c'est function ou sub = debut de bloc type sub
pareil pour les with , if , for, select case 
 et le ligne contenant leur fin  donc next end if , end sub etc.. ferme le bloc 
une bascule est nécessaire pour les if elseif
une fois cela fini 
 là on envoi le code html brut  dans un dom document
 et seulement là tes blocs sont déterminés avec exactitude
avec quelque attribut  et quelques  manipulations 
on indente avec l'attribut "indent"(parent/child)
terminé c'est pesé 
en tout et pour tout il me suffit de 101 lignes de codes dans ma fonction indentcode pour gérer a peu près toute les situations et mode de codage 
 
je vais déposer la version 1.5  dans la journée il y a une nouvelle surprise  ajoutée  je vous laisserai la découvrir ca va plaire  à  
@Dudu2 ça
dès que vous voyez  
V 1.5 dans le titre de la ressource c'est que c'est la bonne version
à cause de toi  je vais devoir changer de lunettes😂😂😂