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