Bonjour à tous,
Tout d'abord, je souhaite santé et réussite à tous pour 2021 !
J'ai essayé d'utiliser des fonctions d'excel type BITOUEXCLUSIF() pour calculer un checksum xor d'une chaine alphanumérique de longueur X (=X caractères), après avoir calculé la valeur ascii de chaque caractère au moyen de la fonction code(). Le checksum calculé doit être converti en hexadécimal.
Si le checksum hexadécimal ne comporte qu'un seul caractère, alors il faut "ajouter" un zéro avant le checksum, de sorte que tous les checksum aient une longueur de 2 digits.
Ca marche quand il y a quelques lignes, mais c'est beaucoup trop lourd et long quand le fichier comporte 100000 lignes.
Dans le tableur joint, je donne un exemple de ce que je souhaite faire :
- soit A la colonne contenant les chaines à checksumiser, il peut y avoir Y chaines à traiter
- soit B la colonne contenant le checksum xor de la chaine correspondante en colonne A
- une fois ce checksum calculé, j'ai besoin de concaténer la chaine avec le checksum correspondant dans la colonne C.
J'ai utilisé https://www.scadacore.com/tools/programming-calculators/online-checksum-calculator/ pour vérifier les checksum.
J'ai donc besoin d'encoder tout ça en VBA pour avoir un algorithme. Je suis proprement incapable de le faire car VBA est opaque pour moi, même si je sais qu'il existe la fonction xor.
Je vous remercie par avance pour votre aide.
Tout d'abord, je souhaite santé et réussite à tous pour 2021 !
J'ai essayé d'utiliser des fonctions d'excel type BITOUEXCLUSIF() pour calculer un checksum xor d'une chaine alphanumérique de longueur X (=X caractères), après avoir calculé la valeur ascii de chaque caractère au moyen de la fonction code(). Le checksum calculé doit être converti en hexadécimal.
Si le checksum hexadécimal ne comporte qu'un seul caractère, alors il faut "ajouter" un zéro avant le checksum, de sorte que tous les checksum aient une longueur de 2 digits.
Ca marche quand il y a quelques lignes, mais c'est beaucoup trop lourd et long quand le fichier comporte 100000 lignes.
Dans le tableur joint, je donne un exemple de ce que je souhaite faire :
- soit A la colonne contenant les chaines à checksumiser, il peut y avoir Y chaines à traiter
- soit B la colonne contenant le checksum xor de la chaine correspondante en colonne A
- une fois ce checksum calculé, j'ai besoin de concaténer la chaine avec le checksum correspondant dans la colonne C.
J'ai utilisé https://www.scadacore.com/tools/programming-calculators/online-checksum-calculator/ pour vérifier les checksum.
J'ai donc besoin d'encoder tout ça en VBA pour avoir un algorithme. Je suis proprement incapable de le faire car VBA est opaque pour moi, même si je sais qu'il existe la fonction xor.
Je vous remercie par avance pour votre aide.