Bong sang, mais c'est pas vrai ! mais si !, Not True reste vrai maintenant ! MS a du redéfinir la valeur interne de True de telle sorte que Not True ne soit plus égal à 0 (qui est la valeur interne de False) ou alors je me demande si ce n'est pas plutôt un problème de traduction en français de True en Vrai, toujours est-il que Not True ne vaut plus toujours False ! En fait, selon la version du moteur VBA, la version d'Access et la version du projet Access qui est ouverte, tantôt le test fonctionne normalement (comme pour les précédentes versions d'Office et de VBA), et tantôt il reste toujours vrai : il n'est donc plus possible de prévoir quand le code va fonctionner ou pas. Du coup toutes les lignes de code telle que If Not MonBooleen Then ... doivent être réécrite en If MonBooleen = False Then ... car Not MonBooleen peut être évalué à vrai quelque soit la valeur de MonBooleen !
Heureusement, un ami m'a donné une idée simple, qui ressemble un peu à la technique de l'injection SQL : il suffit de remplacer toutes les occurrences de [Not] par [False =] mais seulement pour les booléens (de toute façon, on se demande bien qui peut utiliser Not avec autre chose que des booléens, à savoir pour inverser les bits d'un entier !). Sacré farceur ce Bill !