re,
Si ton erreur se passe lors de la définition de la variable, tu n'arriveras pas à utiliser un message d'erreur puisque les variables sont définies et contrôlées avant d'effectuer le code
Je pense qu'une solution serait d'effectuer ce contrôle à l'ouverture du classeur car agir sur ton bouton en fonction d'une bibliothèque non installée ne me parait pas évident.
Par ailleurs le fait de définir outlook comme messagerie ne permet pas, je crois, d'utiliser une autre messagerie.
Si tu veux envoyer une feuille excel ou un fichier par mail, je pense que tu pourrais utiliser une autre code.
Mais là il faudrait que tu donnes des explications sur ton appli et le but recherché.
Tu dois aussi définir les variables dossier_fact, nom agence, etc...
A te relire
Dan