Une erreur intéressante

Par habi­tude, il arrive sou­vent qu’on définisse une vari­able se référant à une recherche de ligne (par exem­ple la dernière ligne d’une plage) comme un entier (Inte­ger) :
Dim l As Integer

Récem­ment, j’ai résolu un bug d’une vis­i­teuse de PolyKromy, qui avait défi­ni cette vari­able comme entière et qui recher­chait des infor­ma­tions dans une base de 35000 enregistrements.

Comme la vari­able entière n’au­torise des valeurs com­pris­es qu’en­tre ‑32 768 et 32 767, elle obte­nait une erreur.

Il suf­fit juste alors de définir la vari­able comme entier long (Long) :
Dim l As Long
ce qui per­met d’avoir des valeurs allant de ‑2 147 483 648 à 2 147 483 647.

A bien­tôt.

Gae­tan Mourmant

Pour marque-pages : Permaliens.

4 réponses à Une erreur intéressante

  1. Olive dit :

    J’a­jouterais à ton com­men­taire qu’il faut aus­si se méfi­er des listes vb qui sont lim­itées à 32000 ele­ments. Un bug que j’ai eut : un dossier avec les pho­tos d’une société, grosse société, donc 45000 pho­tos. l’in­dex de la boite affichant le nom des pho­tos repas­sait en négatif après 32768, directe­ment à ‑32767, puis réaug­men­tait. En fait, vous pou­vez met­tre plus de 32768 elé­ments, mais n’ac­cèderez pas au 32769 eme et suiv­ants. Joie win­daubi­enne s’il en est.

  2. Mer­ci pour l’information.

    Effec­tive­ment, je pense que c’est intéres­sant à savoir.

    Gae­tan

  3. HANDELSMAN dit :

    définir une vari­able comme Inte­ger plutôt que Long ne sert plus à rien depuis que la puis­sance de cal­cul le permet.

    Je le décon­seille fortement !

  4. Gaetan Mourmant dit :

    Entière­ment d’ac­cord avec M. H. !

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée.

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.