Bonjour benich93, le forum,
rappels :
bit = abréviation de « binary digit » = chiffre binaire (0 ou 1)
byte = octet (en français) = groupement de 8 bits
1 octet de 8 bits :
valeur minimum : 00000000 (en binaire) = 0 (en décimal)
valeur maximum : 11111111 (en binaire) = 255 (en décimal)
voilà pourquoi un Byte ne peut être utilisé que pour des nombres de 0 à 255
tout ce qui précède est pour un nombre non signé (= nombre sans signe, considéré comme positif).
VBA ne possède pas le type shortint du langage Pascal (= octet signé).
un octet signé, c'est un octet pour lequel le 1er bit de gauche représente le signe : 0 = positif ; 1 = négatif
il y a donc à droite 7 bits pour le nombre, d'où une valeur qui peut être comprise entre -128 et +127
si y'a -128 et pas de +128, c'est car y'a le 0, mais pas de -0, donc :
chaque tranche fait bien 128 possibilités (nombres différents)
les 2 types Integer et Long de VBA sont bien sûr pour des nombres entiers signés.
(car ils servent pour des nombres positifs et négatifs)
dhany