-
Imbrication des objets
Bonjour,
J'aimerais savoir après avoir fait une inputbox de type range et avoir stocké cet objet :
Est-il nécessaire de stocker l'objet feuille et l'objet classeur auquel cette cellule appartient ou cette unique objet cellule nous suffit pour avoir accès à tout ?
Que signifie exactement "parent" dans des objets (je ne sais pas si c'est une propriété)
Sommes-nous dans le coup des poupées russes : si vous avez la dernière imbriquée, vous pouvez retrouver toutes les autres?
-
Alors non tu n'as pas besoin de stocker où que ce soit ton nom de feuille ni quoi que ce soit d'autre pour identifier de manière unique ton objet Range.
Imagine-toi que dans la RAM de ton PC, tu as plusieurs classeurs Excel, avec plusieurs feuilles et chacune plusieurs cellules. Tu es bien d'accord pour dire que ta Range elle est unique. Elle possède donc bien des adresses en mémoire qui lui sont propres. Si je te dis maintenant que le "stockage" de ton objet Range renvoyé est en fait une mémorisation des emplacements mémoire concernés, tu es également d'accord pour dire que tu es absolument sûr que ton objet de type Range va bien référencer le même Range et pas celui d'une autre feuille d'un autre classeur?
Le "Parent" d'un objet, c'est une notion de référence. C'est une propriété de ton objet (voilà ça c'est dit) renvoyant une référence vers un autre objet, et ce au même titre que les autres propriétés.
Si tu fais "Mafeuille.Cells", "Cells" est une propriété de l'objet "Mafeuille" qui renvoie donc une référence à un objet de type Range. Eh bien la propriété Parent, c'est pareil.
Le "parent" d'un objet, c'est l'objet qui "contient" ton objet, et ça c'est de façon imagée: on "descend" via les propriétés renvoyant des objets "contenus", et on "remonte" via des propriétés renvoyant des objets "Parent". Le parent d'une feuille Worksheet, c'est un objet Workbook.
Le coup des poupées russes? Oui et non: tous les objets ne possèdent pas forcément de propriété renvoyant un parent, même si schématiquement on dirait qu'il est dans un autre.
Supposons par exemple que tu travailles sur un objet de type atelier. Tu le munis d'une propriété qui te renvoie un objet de type machine en passant en paramètre de la propriété une chaîne de caractères. Rien ne t'oblige à implémenter une propriété de parenté à ta classe machine pour qu'elle te renvoie l'atelier.
Si tu développes un modèle objet, n'hésite pas à poser des questions: tu auras au moins une personne qui pourra te répondre. :D
-
Impeccable, j'ai compris!
Merci!