VBA taille en octet d'un range

  • Initiateur de la discussion Initiateur de la discussion Hervé
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

Hervé

XLDnaute Barbatruc
Bonjour tout le monde

Je cherche à savoir la taille d'enregistrement d'une variable déclaré range.

pour un byte = 1 octet
un integer = 2 octets
une date = 8 octets
....etc
un range = ?? octets

d'avance merci pour vos réponses j'ai rien trouvé dans l'aide ou pas su chercher.

salut
 
Salut André,

Je ne sais plus ou j'ai lu cela, mais par défaut à l'ouverture, chaque cellule a une taille nulle

Ce n'est que quand tu y mets une info qu'excel évalue cette info et lui assigne une taille suivant le type d'info. La taille en octet de ton range devient alors très aléatoire suivant qu'il y a beaucoup de texte ...
 
Bonjour Hervé, Mutzik, José, 🙂

D'après 'VBA Excel 2000 - éditions ENI (nantais) )Une Variant requière 16 octets pour les nombres et 22 octets plus la longueur de chaîne pour les caractères...
Sinon pour moi, une range, c'est une variable objet, à ce niveau voilà ce qu'en dit l'aide VBA :

Les variables de type Object sont stockées sous la forme d'adresses 32 bits (4 octets) qui font référence à des objets. L'instruction Set permet d'affecter une référence d'objet à une variable déclarée comme Object.

Note Une variable déclarée comme Object est suffisamment flexible pour contenir une référence à n'importe quel type d'objet, mais la liaison à l'objet désigné par la variable est toujours tardif (liaison au moment de l'exécution). Pour obtenir une liaison précoce (liaison au moment de la compilation), attribuez la référence d'objet à une variable déclarée avec un nom de classe spécifique.


Donc, au risque du ZOP :whistle: ,mais logiquement... peut-on en conclure qu'une variable Range ne contient en fait jamais la valeur de la cellule (logique) mais toujours la référence de celle-ci et va chercher la valeur quand on invoque la propriété voulue, donc une range ferait 4 octets... :unsure:

Bonne journée à tous,

Brico
édition = orthographe + majuscule aux prénoms..:whistle:

11:52

Message édité par: bricofire, à: 27/03/2006 11:54
 
Bonsoir le fil, le Forum,

Les questions de mon ami Hervé sont à la hauteur de ses réponses, c'est à dire toujours très instructives ! 🙂

Pour ma part, je serais plutôt sur la même voie que l'ami Bricofire.

Je viens de faire une recherche sur le net et j'ai trouvé ce document très intéressant qui tourne un peu autour de ce sujet (fichier pdf, voir les pages 1 à 3) : Ce lien n'existe plus. Ce qui semble démontrer que déterminer le 'poids' d'un objet Range est loin d'être une démarche aisée...

Cordialement,
 
Bonsoir à tous, 🙂

Merci Didier mDF, je vais encore avoir mal à la tête vu la langue employée 🙂 , mais bon vu que c'est de l'informatique, c'est compréhensible :silly: , comme quoi quand on veut se faire chauffer les cellules (grises), pour ceux que celles d'Excel ne laissent pas froids, y'a de quoi faire 🙂

Bonne nuit,

Brico
 
Salut
Et pour ajouter un peu à la confusion, je préciserai qu'un Range représente une collection et non pas un simple objet (on peut s'en persuader en se rappelant qu'on parcourt cette collection en écrivant 'For Each Cel in Plage' par exemple)

José, fais attention, tu confonds le type de paramètres passés à certaines méthodes (qui peuvent être des Variant etc...) et la définition d'un objet lui-même.
 
re tout le monde, 🙂

Vi, super intéressant le lien de Didier mDF, digne d’un barbatruc, 🙂 comme le souligne Ti, rien n’est simple, du coup ça nous amène précisément à faire le distinguo entre une variable Range (variable objet source du fil) et l’objet lui même 🙂 .. logique.
N’empêche que je vais bien m’amuser avec « =INFO('memused') », c’est encore mieux que le timer pour le fun :silly:

Be aware restera dans les mémoires.... 😉

Bonne journée à tous,

Brico
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
5
Affichages
481
Réponses
28
Affichages
2 K
Retour