Oui Romano17, daviso a raison c'est un pb de quote. En fait la quote qui est dans ton texte et que tu insère, SQL va l'interpréter comme la quote de fin de texte donc tout ce qui se trouve après cette quote va être mal interprétée.
Sincèrement daviso, tu te prends la tete pour rien avec ta fonction, utilise ce qui existe déja :
Public Function DoubleQuote(sValue As String) As String
DoubleQuote = Replace(sValue, "'", "''" )
End Function
Moi j'utilise cette fonction quand je dois écrire dans une BD externe à Access, comme avec SQL Server
Si dans le futur tu a encore des pb de requetes SQL ce que tu peux faire pour savoir si cela vient de ta requete et avoir plus de détail (peut-être) sur ton erreur c'est d'initialiser une variable avec la chaine de la requete SQL et ensuite du fais:
debug.print mavarSQL
Ouvre la fenetre de debuggage et ensuite tu verra ta requete affiché littéralement. Ensuite copie-là crée une nouvelle requete en mode création/SQL, copie le texte, et execute-là. Ainsi tu verra mieux tes pb.
Bonne chance