OVH Cloud OVH Cloud

Comment enregistrer des variables dans un projet VBA ?

5 réponses
Avatar
Stéphane Lopez
Bonjour,
Je souhaiterai pouvoir enregistrer des variables (objets et tableaux) dans
un document excel.

Est-ce possible ? Et si oui quel est la méthode?
Sinon dois-je (puis-je?) passer par un fichier texte?


Merci beaucoup

5 réponses

Avatar
anonymousA
Bonjour,

Ta question n'est pas précise et même parait sans objet , étant
entendu qu'Excel est évidemment un outil d'enregistrement de tableau
à tout le moins et par ailleurs capable d'abriter des objets y.c en
OLE.

Donc STP affine ta question si tu souhaites qu'à tout le moins moi je
puisse te répondre à moins qu'une personne plus sagace ait compris le
sens de ta question.

A+

Stéphane Lopez wrote:
Bonjour,
Je souhaiterai pouvoir enregistrer des variables (objets et tableaux) dans
un document excel.

Est-ce possible ? Et si oui quel est la méthode?
Sinon dois-je (puis-je?) passer par un fichier texte?


Merci beaucoup


Avatar
Stéphane Lopez
En effet c'est pas tres clair,
Je ne parlais pas d'un tableau Excel, mais d'un tableau vba (le type)
déclaré dans une procédure.
par ex :
Dim tab(10) as variant

Ou pour un objet :
Dim obj as new object

Je pose cette question car je suis en train de créer un petit programme pour
faire des tableaux(excel) et des graphiques dynamique (excel) :
Mes tableaux auront des caractéristiques spécifiques :
Nom, Coordonnées,Tailles, Descripteur,pointeur, etc...

Ce sont des variables de travails et je ne souhaite donc pas les faire
aparaitre dans un classeur excel.

Je compte créer une nouvelle classe d'objet pour pouvoir travailler sur les
variables du tableau(excel) et ainsi pouvoir le remplir dynamiquement(avec
des bouton). Mon problème actuellement c'est que si l'objet déclaré lorsque
je créerai mon tableau n'est pas sauvegardé. Il ne pourra plus être mis à
jour après avoir fermé le fichier.



"anonymousA" a écrit dans le message de news:

Bonjour,

Ta question n'est pas précise et même parait sans objet , étant
entendu qu'Excel est évidemment un outil d'enregistrement de tableau
à tout le moins et par ailleurs capable d'abriter des objets y.c en
OLE.

Donc STP affine ta question si tu souhaites qu'à tout le moins moi je
puisse te répondre à moins qu'une personne plus sagace ait compris le
sens de ta question.

A+

Stéphane Lopez wrote:
Bonjour,
Je souhaiterai pouvoir enregistrer des variables (objets et tableaux) dans
un document excel.

Est-ce possible ? Et si oui quel est la méthode?
Sinon dois-je (puis-je?) passer par un fichier texte?


Merci beaucoup


Avatar
anonymousA
Comme tu l'écris toi même, il est toujours possible de déclarer des
tableaux de dimensions variables et même dynamiques lors de
l'exécution de code
tout en étant de type Public , donc dont les valeurs peuvent être
conservées tout le temps de l'ouverture du fichier qui les abrite
même si il n' y a pas de code en exécution .
Pour autant, ces tableaux n'existent et ne sont remplis que durant
l'ouverture du fichier. A la fermeture de celui-ci, les variables sont
toutes réinitialisées et il n'y a rien que tu puisses y faire en
dehors de les stocker par tous moyens possible ( dans une feuille
cachée, en attribuant des noms stockés dans l'espace des noms, en
écrivant dans un fichier externe de type txt, ini ou autre adjoint à
l'application ou encore en dur dans l'applciation VBA au travers de
l'écriture dans un module spécial de texte que tu peux récupérer à
l'ouverture du fichier,..).Par ailleurs, le stockage des données
dépendra aussi de la nature des données.En effet, les valeurs
alphanumériques pourront être stockées sur tous les types de support
logique, les variables de type objet n'auront pas forcément cette
possibilité.
Une fois stockées ces données quelque part , tu pourras les
récupérer et les mettre dans un tableau à l'ouverture du fichier en
utilisant p.e la procédure évenementielle Workbook_Open.

Voilà, je ne sais pas si j'ai pu mieux éclairer ta demande, mais j'ai
fait de mon mieux en fonction de ce que j'ai compris.

A+

Stéphane Lopez wrote:
En effet c'est pas tres clair,
Je ne parlais pas d'un tableau Excel, mais d'un tableau vba (le type)
déclaré dans une procédure.
par ex :
Dim tab(10) as variant

Ou pour un objet :
Dim obj as new object

Je pose cette question car je suis en train de créer un petit programme pour
faire des tableaux(excel) et des graphiques dynamique (excel) :
Mes tableaux auront des caractéristiques spécifiques :
Nom, Coordonnées,Tailles, Descripteur,pointeur, etc...

Ce sont des variables de travails et je ne souhaite donc pas les faire
aparaitre dans un classeur excel.

Je compte créer une nouvelle classe d'objet pour pouvoir travailler sur les
variables du tableau(excel) et ainsi pouvoir le remplir dynamiquement(avec
des bouton). Mon problème actuellement c'est que si l'objet déclaré lorsque
je créerai mon tableau n'est pas sauvegardé. Il ne pourra plus être mis à
jour après avoir fermé le fichier.



"anonymousA" a écrit dans le message de news:

Bonjour,

Ta question n'est pas précise et même parait sans objet , étant
entendu qu'Excel est évidemment un outil d'enregistrement de tableau
à tout le moins et par ailleurs capable d'abriter des objets y.c en
OLE.

Donc STP affine ta question si tu souhaites qu'à tout le moins moi je
puisse te répondre à moins qu'une personne plus sagace ait compris le
sens de ta question.

A+

Stéphane Lopez wrote:
Bonjour,
Je souhaiterai pouvoir enregistrer des variables (objets et tableaux) d ans
un document excel.

Est-ce possible ? Et si oui quel est la méthode?
Sinon dois-je (puis-je?) passer par un fichier texte?


Merci beaucoup




Avatar
Stéphane Lopez
Je pense m'orienter vers la solution de la feuille cachée.
D'autre part je n'ai pas compris ce qu'étais "un module spécial de texte
dans l'application VBA"
Ma contrainte est que si je passe par un moyen de sauvegarde externe je ne
pourrais pas donner mes classeurs.

En tout cas tu as très bien compris et je te remercie.

"anonymousA" a écrit dans le message de news:

Comme tu l'écris toi même, il est toujours possible de déclarer des
tableaux de dimensions variables et même dynamiques lors de
l'exécution de code
tout en étant de type Public , donc dont les valeurs peuvent être
conservées tout le temps de l'ouverture du fichier qui les abrite
même si il n' y a pas de code en exécution .
Pour autant, ces tableaux n'existent et ne sont remplis que durant
l'ouverture du fichier. A la fermeture de celui-ci, les variables sont
toutes réinitialisées et il n'y a rien que tu puisses y faire en
dehors de les stocker par tous moyens possible ( dans une feuille
cachée, en attribuant des noms stockés dans l'espace des noms, en
écrivant dans un fichier externe de type txt, ini ou autre adjoint à
l'application ou encore en dur dans l'applciation VBA au travers de
l'écriture dans un module spécial de texte que tu peux récupérer à
l'ouverture du fichier,..).Par ailleurs, le stockage des données
dépendra aussi de la nature des données.En effet, les valeurs
alphanumériques pourront être stockées sur tous les types de support
logique, les variables de type objet n'auront pas forcément cette
possibilité.
Une fois stockées ces données quelque part , tu pourras les
récupérer et les mettre dans un tableau à l'ouverture du fichier en
utilisant p.e la procédure évenementielle Workbook_Open.

Voilà, je ne sais pas si j'ai pu mieux éclairer ta demande, mais j'ai
fait de mon mieux en fonction de ce que j'ai compris.

A+

Stéphane Lopez wrote:
En effet c'est pas tres clair,
Je ne parlais pas d'un tableau Excel, mais d'un tableau vba (le type)
déclaré dans une procédure.
par ex :
Dim tab(10) as variant

Ou pour un objet :
Dim obj as new object

Je pose cette question car je suis en train de créer un petit programme
pour
faire des tableaux(excel) et des graphiques dynamique (excel) :
Mes tableaux auront des caractéristiques spécifiques :
Nom, Coordonnées,Tailles, Descripteur,pointeur, etc...

Ce sont des variables de travails et je ne souhaite donc pas les faire
aparaitre dans un classeur excel.

Je compte créer une nouvelle classe d'objet pour pouvoir travailler sur
les
variables du tableau(excel) et ainsi pouvoir le remplir dynamiquement(avec
des bouton). Mon problème actuellement c'est que si l'objet déclaré
lorsque
je créerai mon tableau n'est pas sauvegardé. Il ne pourra plus être mis à
jour après avoir fermé le fichier.



"anonymousA" a écrit dans le message de news:

Bonjour,

Ta question n'est pas précise et même parait sans objet , étant
entendu qu'Excel est évidemment un outil d'enregistrement de tableau
à tout le moins et par ailleurs capable d'abriter des objets y.c en
OLE.

Donc STP affine ta question si tu souhaites qu'à tout le moins moi je
puisse te répondre à moins qu'une personne plus sagace ait compris le
sens de ta question.

A+

Stéphane Lopez wrote:
Bonjour,
Je souhaiterai pouvoir enregistrer des variables (objets et tableaux)
dans
un document excel.

Est-ce possible ? Et si oui quel est la méthode?
Sinon dois-je (puis-je?) passer par un fichier texte?


Merci beaucoup




Avatar
anonymousA
"un module spécial de texte dans l'application VBA" : En fait, il
s'agit d'un abus de langage de ma part.Il s'agit d'un module standard
qu'on réserve à une utilisation de stockage de données
alphanumériques au format texte ( en commentaires dans le module si tu
préfères) mais dont on s'arrange pour que le format (des données)
soit tel que l'on puisse retrouver ses petits qu'on aura stockés comme
du texte dans ce module.
Ce faisant, il n'y aura plus ( si on s'est bien débrouillé ) qu'à
aller dans ce module pour aller piocher les informations.Ce n'est
surement pas la solution la plus simple mais c'est celle qui empêche
absolument l'accès aux informations en dehors de casser le colde VBA.
Elle a cependant des limitations: elle ne peut bien sur servir à
stocker des objets et les informations alphanumériques ne doivent pas
être trop longues.

A+


Stéphane Lopez wrote:
Je pense m'orienter vers la solution de la feuille cachée.
D'autre part je n'ai pas compris ce qu'étais "un module spécial de te xte
dans l'application VBA"
Ma contrainte est que si je passe par un moyen de sauvegarde externe je ne
pourrais pas donner mes classeurs.

En tout cas tu as très bien compris et je te remercie.

"anonymousA" a écrit dans le message de news:

Comme tu l'écris toi même, il est toujours possible de déclarer des
tableaux de dimensions variables et même dynamiques lors de
l'exécution de code
tout en étant de type Public , donc dont les valeurs peuvent être
conservées tout le temps de l'ouverture du fichier qui les abrite
même si il n' y a pas de code en exécution .
Pour autant, ces tableaux n'existent et ne sont remplis que durant
l'ouverture du fichier. A la fermeture de celui-ci, les variables sont
toutes réinitialisées et il n'y a rien que tu puisses y faire en
dehors de les stocker par tous moyens possible ( dans une feuille
cachée, en attribuant des noms stockés dans l'espace des noms, en
écrivant dans un fichier externe de type txt, ini ou autre adjoint à
l'application ou encore en dur dans l'applciation VBA au travers de
l'écriture dans un module spécial de texte que tu peux récupérer à
l'ouverture du fichier,..).Par ailleurs, le stockage des données
dépendra aussi de la nature des données.En effet, les valeurs
alphanumériques pourront être stockées sur tous les types de support
logique, les variables de type objet n'auront pas forcément cette
possibilité.
Une fois stockées ces données quelque part , tu pourras les
récupérer et les mettre dans un tableau à l'ouverture du fichier en
utilisant p.e la procédure évenementielle Workbook_Open.

Voilà, je ne sais pas si j'ai pu mieux éclairer ta demande, mais j'ai
fait de mon mieux en fonction de ce que j'ai compris.

A+

Stéphane Lopez wrote:
En effet c'est pas tres clair,
Je ne parlais pas d'un tableau Excel, mais d'un tableau vba (le type)
déclaré dans une procédure.
par ex :
Dim tab(10) as variant

Ou pour un objet :
Dim obj as new object

Je pose cette question car je suis en train de créer un petit program me
pour
faire des tableaux(excel) et des graphiques dynamique (excel) :
Mes tableaux auront des caractéristiques spécifiques :
Nom, Coordonnées,Tailles, Descripteur,pointeur, etc...

Ce sont des variables de travails et je ne souhaite donc pas les faire
aparaitre dans un classeur excel.

Je compte créer une nouvelle classe d'objet pour pouvoir travailler s ur
les
variables du tableau(excel) et ainsi pouvoir le remplir dynamiquement(a vec
des bouton). Mon problème actuellement c'est que si l'objet déclar é
lorsque
je créerai mon tableau n'est pas sauvegardé. Il ne pourra plus êt re mis à
jour après avoir fermé le fichier.



"anonymousA" a écrit dans le message de news:

Bonjour,

Ta question n'est pas précise et même parait sans objet , étant
entendu qu'Excel est évidemment un outil d'enregistrement de tableau
à tout le moins et par ailleurs capable d'abriter des objets y.c en
OLE.

Donc STP affine ta question si tu souhaites qu'à tout le moins moi je
puisse te répondre à moins qu'une personne plus sagace ait compris le
sens de ta question.

A+

Stéphane Lopez wrote:
Bonjour,
Je souhaiterai pouvoir enregistrer des variables (objets et tableaux)
dans
un document excel.

Est-ce possible ? Et si oui quel est la méthode?
Sinon dois-je (puis-je?) passer par un fichier texte?


Merci beaucoup