Bonjour Ronibo, Xmenpl,
tu as montré ce code VBA :
Msg = "Encaisser le loyer du mois d" & IIf(InStr(1, "ao", Left(.Range("A" & Ligne - 1), 1), vbTextCompare) > 0, "'", "e ") & .Range("A" & Ligne - 1)
A) à propos des voyelles : le Left(.., 1) est pour prendre 1 seul caractère à gauche ; or il existe bien æ liés (comme pour lætitia) ou œ liés (comme pour œuf) ; mais il n'existe pas de ao liés en 1 seul caractère ; il s'agit donc bien de 2 caractères, et non pas d'un seul ; et donc le Left(.., 1) est faux !
B) d'autre part, outre les 2 voyelles "ao", le code indiqué choisit "d'" pour le mois d'août et "de" pour tous les autres mois ; malheureusement, il oublie "d'" pour 2 autres mois : avril et octobre ! (mois d'avril et d'octobre ; pas mois de avril, ni mois de octobre)
⚠ la formule de Xmenpl ne fait pas la distinction : ..;" du mois de ";.. ➯ " de " pour tous les mois !
je te propose ce fichier Excel :
attention : au moment d'ouvrir ton fichier, sélectionne-le ; appuie sur la touche Maj (juste au-dessus de Ctrl) ; clique sur le bouton « Ouvrir » ➯ Workbook_Open() ne s'est pas exécuté ; et tu peux vérifier que A1 est vide ; maintenant, ferme le fichier et ouvre-le normalement ; A1 contient bien le texte attendu ; mais comme on est en novembre, tu ne peux pas voir que la macro met bien "d'" pour avril, août, et octobre (à moins que tu changes la date système).
dhany