Qu'est-ce que la fonction BITOUEXCLUSIF ?
BITOUEXCLUSIF (BITXOR en anglais) te sert quand tu dois chiffrer un identifiant avec une clé secrète, détecter quels bits ont changé entre deux configurations, ou activer et désactiver un drapeau binaire sans toucher aux autres. Elle est réversible : appliquer deux fois la même clé restitue la valeur d'origine, ce qui permet de chiffrer et déchiffrer avec une seule et même formule.
Concrètement, c'est la fonction qu'utilisent les développeurs pour chiffrer des identifiants numériques avec une clé secrète, les ingénieurs système pour détecter quels bits ont changé entre deux configurations, ou les programmeurs pour activer et désactiver des drapeaux binaires sans toucher aux autres bits. Indispensable pour tout travail sur des données binaires dans Excel.

Comprendre chaque paramètre de la fonction BITOUEXCLUSIF
BITOUEXCLUSIF prend deux arguments, nombre1 et nombre2, tous les deux obligatoires : ce sont les entiers positifs dont tu compares les bits. Comme le XOR est symétrique, tu peux les intervertir sans rien changer au résultat, puisque =BITOUEXCLUSIF(5; 3) et =BITOUEXCLUSIF(3; 5) donnent tous deux 6.
Par contre les deux doivent rester des entiers positifs ou nuls : un décimal sera tronqué avant le calcul, donc pense à arrondir toi-même si la partie après la virgule compte pour toi.
nombre1
: le premier nombre sur lequel effectuer l'opération XORIl doit être un entier positif ou nul, inférieur à 2^48-1 (environ 281 billions). Excel convertit ce nombre en représentation binaire pour effectuer l'opération bit à bit.
Par exemple, le nombre 5 est représenté en binaire par 101. Chaque bit de cette représentation sera comparé avec le bit correspondant de nombre2.
nombre2
: le deuxième nombre pour l'opération XORComme nombre1, il doit être un entier positif ou nul, limité à 2^48-1. L'opération XOR compare chaque bit de nombre1 avec le bit correspondant de nombre2.
Le principe du XOR est simple : si les deux bits sont différents, le résultat est 1. S'ils sont identiques (tous deux 0 ou tous deux 1), le résultat est 0. C'est cette propriété qui rend XOR si utile pour la détection de changements et la cryptographie légère.
Attention : Les nombres décimaux seront tronqués (la partie après la virgule sera ignorée). Utilise ARRONDI ou ENT si tu veux contrôler ce comportement avant de passer le nombre à BITOUEXCLUSIF.

Exemples pratiques pas à pas
Comment chiffrer un identifiant avec une clé grâce à la fonction BITOUEXCLUSIF
Tu prépares un fichier d'identifiants clients à transmettre à un prestataire qui n'a pas besoin de connaître tes vrais numéros. Chaque ligne porte l'ID en clair et la clé partagée avec ce prestataire, et tu veux la colonne chiffrée à envoyer. La fonction BITOUEXCLUSIF brouille chaque identifiant avec la clé, et le destinataire retrouvera l'original en rejouant exactement la même opération.
- 1Dans une cellule, écris
=BITOUEXCLUSIF(. - 2En 1er argument : clique sur la cellule de l'identifiant à brouiller,
B2. Elle contient1234, et c'est sur la forme binaire de ce nombre que porte l'opération, bit par bit. - 3En 2ᵉ argument : clique sur la cellule de la clé partagée avec le prestataire,
C2. Elle contient9876, et ce sont ses bits qui décident des positions à inverser dans l'identifiant. Personne ne peut revenir à la valeur d'origine sans elle. - 4Ferme la parenthèse et appuie sur Entrée, puis recopie la formule vers le bas pour chiffrer les cinq lignes. La clé se répète à l'identique d'une ligne à l'autre, donc tu peux aussi la saisir une seule fois et la figer en
$C$2.
=BITOUEXCLUSIF(B2; C2)1234 en 8774. Le point fort est que l'opération se rejoue à l'identique : passer 8774 et la clé 9876 à la même fonction redonne 1234. Une seule formule sert donc à l'aller et au retour, sans table de correspondance à maintenir.Comment repérer les bits qui ont changé entre deux configurations avec la fonction BITOUEXCLUSIF
Une mise à jour a modifié la configuration de plusieurs machines et tu dois dire ce qui a réellement bougé, pas seulement que la valeur a changé. Tu as l'état avant et l'état après pour chaque machine, tous deux encodés dans un entier. La fonction BITOUEXCLUSIF marque d'un 1 chaque position qui diffère et te donne la carte exacte des bits touchés.
- 1Dans une cellule, écris
=BITOUEXCLUSIF(. - 2En 1er argument : clique sur la cellule de la configuration relevée avant la mise à jour,
A2. Elle contient15, et c'est cet état qui sert de point de comparaison. - 3En 2ᵉ argument : clique sur la cellule de la configuration relevée après la mise à jour,
B2. Elle contient7. L'ordre des deux arguments n'a aucune importance, puisque la fonction cherche les positions qui diffèrent et non un sens de variation. - 4Ferme la parenthèse et appuie sur Entrée, puis recopie la formule vers le bas pour traiter les cinq lignes. Un résultat de
0t'indiquerait deux configurations strictement identiques, ce qui n'arrive sur aucune ligne de ce tableau.
=BITOUEXCLUSIF(A2; B2)15 (01111) et 7 (00111), seul le bit de valeur 8 a basculé, donc le résultat vaut 8. La ligne 60 vers 58 rend 6, ce qui veut dire que deux bits ont changé d'un coup, alors que l'écart décimal ne valait que 2.Comment isoler le bit qui a changé en combinant la fonction BITOUEXCLUSIF et la fonction BITET
Le bit 2 de ce registre commande une fonction critique, et une seule question t'intéresse lors de l'audit : est-ce que la mise à jour y a touché ? Savoir que la configuration a changé ne suffit pas, car les autres bits bougent tout le temps sans conséquence. En filtrant la carte des changements sur ce seul bit, tu obtiens une réponse nette ligne par ligne.
- 1Dans une cellule, écris
=SI(. - 2En 1er argument : écris la comparaison qui doit trancher et referme-la,
BITET(BITOUEXCLUSIF(A2; B2); 4)=4. La fonction BITOUEXCLUSIF est l'appel le plus intérieur, et son résultat traverse le masque4avant d'être comparé. Les deux parenthèses ouvertes ici sont refermées dans la foulée, si bien qu'il ne restera que celle de la fonction SI. - 3En 2ᵉ argument : écris le texte à afficher quand la comparaison est vraie,
"Oui". Les guillemets sont obligatoires pour qu'Excel affiche le mot tel quel au lieu d'y chercher un nom défini dans le classeur. - 4En 3ᵉ argument : écris le texte à afficher quand la comparaison est fausse,
"Non". Cette réponse tombe aussi bien quand rien n'a bougé que quand des bits ont bougé ailleurs, comme sur la ligne qui passe de15à7. - 5
=SI(BITET(BITOUEXCLUSIF(A2; B2); 4)=4; "Oui"; "Non")4 ne laisse passer que le bit surveillé. La ligne 60 vers 58 a bien touché ce bit et répond « Oui », alors que 15 vers 7 a changé ailleurs et répond « Non » malgré une modification réelle. C'est la nuance qui compte lors d'un audit ciblé.
Les erreurs fréquentes avec la fonction BITOUEXCLUSIF
Trois messages reviennent avec BITOUEXCLUSIF, et chacun pointe une contrainte précise. Le #NOMBRE! signale qu'un argument sort des clous : négatif, ou plus grand que la limite des 48 bits. Le #VALEUR! veut dire qu'une cellule contient du texte ou est vide au lieu d'un nombre. Et le #NOM? n'a rien à voir avec tes données : c'est que ta version d'Excel est antérieure à 2013, qui a introduit cette fonction.
Erreur #NOMBRE! sur un nombre négatif ou trop grand
L'erreur #NOMBRE! apparaît quand un des paramètres est négatif, décimal dans certaines versions, ou supérieur à 2^48-1 (281 474 976 710 655). BITOUEXCLUSIF exige des entiers positifs ou nuls dans cette plage.
Solution : Utilise ABS() pour forcer un nombre positif et ENT() pour tronquer les décimaux : =BITOUEXCLUSIF(ABS(ENT(A1)); ABS(ENT(B1))) sécurise les deux paramètres en même temps.
Erreur #VALEUR! sur un paramètre non numérique
Cette erreur survient quand un des paramètres n'est pas un nombre valide : texte, cellule vide, ou résultat d'erreur d'une autre formule. Excel ne peut pas effectuer d'opération binaire sur du texte.
Solution : Protège ta formule avec un test préalable : =SI(ESTNUM(A1)*ESTNUM(B1); BITOUEXCLUSIF(A1;B1); "Données invalides") retourne un message clair si les données sont manquantes ou incorrectes.
Erreur #NOM? : fonction non reconnue
Si Excel affiche #NOM?, c'est que BITOUEXCLUSIF n'est pas disponible dans ta version. Cette fonction existe uniquement à partir d'Excel 2013.
Solution : Mets à jour vers Excel 2013 ou une version ultérieure. Sur des versions encore plus anciennes, tu peux reproduire le comportement XOR avec une formule personnalisée VBA.
Questions fréquentes
Le OU exclusif (XOR) est une opération logique bit à bit qui retourne 1 si les bits comparés sont différents, et 0 s'ils sont identiques. Par exemple, 5 XOR 3 donne 6 car en binaire : 101 XOR 011 = 110. Cette opération est très utilisée en cryptographie simple, détection d'erreurs et programmation bas niveau car elle possède une propriété unique : elle est réversible (A XOR B XOR B = A).
BITOUEXCLUSIF est principalement utilisée pour la manipulation de bits : détection de différences entre deux nombres au niveau binaire, chiffrement simple de données sensibles avec une clé, toggle de drapeaux binaires pour activer et désactiver des options, et calculs sur des masques de bits en programmation système.
Les deux paramètres de BITOUEXCLUSIF doivent être des nombres entiers positifs ou nuls, avec une limite à 2^48-1, soit 281 474 976 710 655. Si tu utilises un nombre négatif ou supérieur à cette limite, Excel retournera une erreur #NOMBRE!. Cette limite de 48 bits est suffisante pour la plupart des applications pratiques dans Excel.
Applique BITOUEXCLUSIF avec une clé secrète pour chiffrer : =BITOUEXCLUSIF(nombre_original; clé). Pour déchiffrer, applique exactement la même opération car XOR est réversible : =BITOUEXCLUSIF(nombre_chiffré; clé). Ce chiffrement est simple et ne convient pas pour des données hautement sensibles sans autres mesures de sécurité complémentaires.
BITOU retourne 1 si au moins un des bits est à 1 (OU logique bit à bit). BITET retourne 1 uniquement si les deux bits sont à 1 (ET logique bit à bit). BITOUEXCLUSIF retourne 1 uniquement quand les bits sont différents. En pratique : BITET pour lire/masquer des bits, BITOU pour les activer, BITOUEXCLUSIF pour les inverser (toggle).
Oui. Applique d'abord =BITOUEXCLUSIF(A1; B1) pour obtenir les bits qui ont changé, puis =BITET(résultat; masque) pour vérifier si un bit précis fait partie des changements. Par exemple, pour savoir si le bit 4 (masque = 8) a changé entre A1 et B1 : =BITET(BITOUEXCLUSIF(A1; B1); 8) retourne 8 si ce bit a changé, 0 sinon.
Pour aller plus loin
Continue sur ta lancée après la fonction BITOUEXCLUSIF : la leçon associée, un modèle prêt à l'emploi et le guide pour progresser.
Tout voir



