Bonsoir,
L'autre jour, en cherchant une solution pour un souci d'un demandeur, je me suis confronté à un problème que je n'avais jamais rencontré (mais qui existe depuis??????)
Lorsqu'on déclare des variables, c'est bien pour les "typer"...
Or, avec des variables en "Byte", on ne peut les soustraire si le résultat est négatif, même si on a pris la précaution de déclarer la variable du résultat en "Long"...
Exemple :
Sub essai_1()
Dim Num1 As Byte, Num2 As Byte
Dim Soustract As Long
Num1 = 8: Num2 = 4
Soustract = Num1 - Num2 ' pas de souci
Soustract = Num2 - Num1 ' ça marche pô!!!
End Sub
Sub essai_2()
Dim Num1 As Long, Num2 As Long
Dim Soustract As Long
Num1 = 8: Num2 = 4
Soustract = Num1 - Num2 ' pas de souci
Soustract = Num2 - Num1 ' ici, ça marche!!!
End Sub
Je ne sais pas si vous avez déjà remarqué ce phénomène...
En gros, le Type "Byte", faut vraiment bien le définir, en fonction des besoins ultérieurs dans le code...
Bonne soirée