Oui ! ça ressemble à rien !
D'abord, on ne saute pas de lignes toutes les lignes dans une procédure (et je suis partisan de ne jamais en sauter une seule !).
Ensuite on indente son code, autant que possible selon des règles strictes !
Ça, c'est pour pouvoir le lire, en comprenant ce qu'on lit, dans le minimum de temps !
Lorsqu'on l'insère dans un post, on utilise la balise Code : ça c'est pour améliorer la lecture dans le forum.
En ce qui concerne le codage :
Déclarations de variables : toujours, toutes, en tête de procédure, avant tout code exécutable. C'est mieux pour VBA, c'est aussi mieux pour le lecteur.
Matrice carrée !? si c'est ton objectif, cela implique une variable tableau à 2 dimensions, les deux dimensions étant de même taille.
Je n'en vois pas. Donc je ne vois pas comment tu vas pouvoir lui donner une existence, même virtuelle.
Après il s'agit de la composer... ! Là, on ne sait pas ce que tu veux faire, si tu appliques une règle de composition ou non... On ne peut donc rien en dire.
Cordialement.