Bonjour,
j'apprend à peine VBA donc je pourrais difficilement corriger ton code, en revanche, je peux t'expliquer ma méthode lorsque je coince:
-Je pose des points d'arrêt, un vers le début, puis si cela se déroule sans problème jusque la, un suivant quelques lignes plus bas.
-je mets mes variables dans un espion, ainsi je peux vérifier leur valeur à chaque point d'arrêt, et voir s'il y a une incohérence.
-si je repère une partie en particulier qui délire, je la teste seule dans un module différent, afin d'être sûr du résultat et de la syntaxe
Ca suffit déjà à trouver pas mal de solutions. Bon courage.