Je viens faire un petit retour après tests :
En effet, pour les patterns VBA, nul besoin du \. Il suffit de placer *, ?, [, #, ! au sein du groupe de caractères entre crochets (il ne faut juste pas mettre ! en premier, qui fait office de négation dans ce cas du groupe entre crochets).
Le "]" est à traiter indépendamment, avec un autre Like "*]*".
En ce qui concerne mon expression régulière, j'étais relativement loin du compte notamment parce que j'ai mis un | (ou) au mauvais endroit et parce que \w correspond aux caractères alphanumériques NON ACCENTUES ! Il faut prévoir le rajout des accents, ce qui donnerait un modèle comme ça :
modele = "^(\wà?â?À?ç?Ç?é?è?ê?ë?É?È?Ê?î?ï?ô?ù?ü? ?-?)+$"
Ensuite, on peut se faire plaisir et rajouter ce qu'on veut ...
De cette manière, les chaines vides renvoient faux, tous les caractères spéciaux et de ponctuation renvoient faux, toutes les chaines avec un double espace, un double tiret ou une double lettre accentuée renvoient faux. Avec les lettres classiques, j'ai été relativement souple pour l'instant... En l'état, on peut commencer et finir par un espace ou un tiret mais il ne serait pas difficile de rajouter un petit niveau de validation pour les 1er et dernier caractères.