[VBA-Excel] variable Public

variable Public [VBA-Excel] - VB/VBA/VBS - Programmation

Marsh Posté le 01-03-2007 à 18:19:08    

Bonsoir à tous,
 
J'ai un petit problème (de syntaxe j'espère). Je sais appeler une variable déclarée Public au sein d'une procédure avec ses modules, mais pour l'appeler à aprtir d'une autre procédure, là, je bloque...
 
J'ai essayé  Workbooks("toto.xls" ).Module1.MaVariable  mais ca ne marche pas du tout.
 
Si quelqu'un peut m'aider, ca serait très sympa
 
Merci à tous et bonne soirée
 
DaBoos

Reply

Marsh Posté le 01-03-2007 à 18:19:08   

Reply

Marsh Posté le 01-03-2007 à 18:52:34    

Je ne sais pas du tout si c'est possible...
Pourquoi tu n'écris pas ta variable public dans cette autre procédure ?

Reply

Marsh Posté le 02-03-2007 à 08:06:30    

Bonjour,
 
Moi aussi je ne pense pas que cela soit possible, mais sait on jamais????
 
On peut contourner le problème en écrivant la valeur dans une cellule sur une feuille masquée
 
Cordialement

Reply

Marsh Posté le 02-03-2007 à 11:22:55    

Une variable déclarée Public dans un module est accessible dans toutes les fonctions et procédures de tous les modules du même classeur.
Sans syntaxe particulière.
 
Je ne sais pas ce qu'ont compris les autres qui t'ont répondu, mais je trouve ta question ambigüe.

Reply

Marsh Posté le 02-03-2007 à 11:41:44    


Il est vrai qu'une variable Public, est accessible dans tous les modules,
mais il faut obligatoirement exécuter la macro d'affectation de la valeur
 
exemple  
--------------------- module 1
Public test  
Sub toto1()
test = 20
End Sub
 
--------------------- module 2
Sub toto2()
msgbx test
End Sub
 
 
IL faut bien exécuter la macro toto1 pour donner la valeur 20 à test
 
Si j'ouvre le fichier et que j'exécute directement toto2, test = vide
 
à suivre

Reply

Marsh Posté le 06-03-2007 à 17:24:15    

Bonsoir
 
Merci à tous pour vos réponses. J'ai finalement opté pour l'écriture de ma variable dans une cellule. En fait, pour expliquer plus précisément mon problème, j'avais un fichier qui, lorsqu'on l'ouvre, calcule automatiquement le nb de lignes d'un de ses tableaux, et met ce nb en variable public. J'utilise un autre classeur excel qui lance plusieurs macro, et qui a besoin de données du premier. Tant qu'à faire, comme j'ouvre le premier, et qu'il calcule son nb de ligne automatiquement, j'aurais voulu récupérer ce nb, c'est tout. Je suis pas sur d'avoir été beaucoup plus clair, mais en tous cas j'ai une solution à mon problème, même si ce n'est surement pas la plus fine.
 
Bonne soirée à tous
 
DaBoos

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed