Essayez cette petite expérience. Copiez les formules suivantes dans Excel:
A B C D
1 TRUE =NOT(A1) =A1=TRUE =A1=FALSE
2 FALSE =NOT(A2) =A2=TRUE =A2=FALSE
3 'true =NOT(A3) =A3=TRUE =A3=FALSE
4 'false =NOT(A4) =A4=TRUE =A4=FALSE
Je pense que vous serez surpris de voir les résultats:
A B C D
1 TRUE FALSE TRUE FALSE
2 FALSE TRUE FALSE TRUE
3 true FALSE FALSE FALSE
4 false TRUE FALSE FALSE
NOT()
traite les valeurs chaîne 'true
et 'false
comme si elles sont les valeurs booléennes TRUE
et FALSE
. Cependant, =
traite la chaîne et les valeurs booléennes comme différentes.
Par souci de cohérence, vous devez utiliser les littéraux booléens, pas les valeurs de chaîne (option 1), sinon vos résultats pourraient être incorrectes de façon inattendue parfois (option 2). Il n'y a pas grand intérêt à utiliser les formules qui retournent juste les valeurs littérales (option 3).
Cela a du sens, merci! Je me demandais parce qu'un autre programmeur utilisait true et "true" de façon interchangeable dans Excel, donc je vais corriger cela. BTW J'ai lu votre profil - Je suis un programmeur .NET en exil VBA, donc je ressens votre douleur. – LFurness
Heureux d'être utile! L'exil n'est-il pas grand? – LittleBobbyTables