Les systèmes de protections sont difficile à mettre en place. Et sache qu'aucun système n'est inviolable. Même des trucs de ouf soit disant inviolables ont fini par tomber.
Tu va donc passer beaucoup de temps et d’énergie pour développer un truc qui de toute façon finira par tomber.
Consacre plutôt ce temps à faire du bon travail et à faire en sorte que ton client joue le jeu et t'achète le nombre de licence qu'il utilise régulièrement. (Si c'est une grosse boite fait lui des prix de groupe, il sera plus tenté de te payer).
Après tu peux protéger ton code par mot de passe (pas fiable) et/ou par obfuscation. Comme ça même si quelqu'un copie tes macros ils ne pourront jamais les modifier (toi non plus d'ailleurs si tu perd le source non obfusqué).