Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

[VBA] Problème de portée de variable...

3 réponses
Avatar
HD
Bonjour,

J'ai déclaré une variable Public (Public Awkb as String en début d'un
module) et celle ci est affectée à l'ouverture du classeur. Dans le
Workbook_Open j'ai bien une ligne :
Awkb = ActiveWorkbook.Name
D'ailleurs, lorsque je fais un MsgBox Awkb j'ai bien le nom de mon
fichier... Le problème est que malgrés que cette variable soit public elle
apparait vide lorsque l'on fait appelle à elle dans une boîte de dialogue...
Rien n'est repris dans mon UserForm... :-(

Savez vous d'où vient le problème et comment le solutionner ?

Merci d'avance pour votre aide.
--
@+
HD

3 réponses

Avatar
Michel Gaboly
Bonjour,

As-tu réellement besoin de cette variable ? En effet, sauf si le classe ur contenant le code est masqué, c'est ce même
classeur qui est actif.

Dans ce cas, la variable est suferflue, puisqu'à tout mment, tu peux ut iliser ThisWorkbook.Name

Sinon, où as-tu déclaré ta variable ? il faut que ce soit dans un m odule standard (ni dans ThisWorkbook, ni dans un
module associé à une feuille ou à un UserForm, ni dans un autre mod ule de classe (les autres modules auxquels je viens
de faire référence sont aussi des modules de classe).

Enfin, dis-nous comment tu l'appelles dans ton UserForm.


Bonjour,

J'ai déclaré une variable Public (Public Awkb as String en début d'un
module) et celle ci est affectée à l'ouverture du classeur. Dans l e
Workbook_Open j'ai bien une ligne :
Awkb = ActiveWorkbook.Name
D'ailleurs, lorsque je fais un MsgBox Awkb j'ai bien le nom de mon
fichier... Le problème est que malgrés que cette variable soit publ ic elle
apparait vide lorsque l'on fait appelle à elle dans une boîte de di alogue...
Rien n'est repris dans mon UserForm... :-(

Savez vous d'où vient le problème et comment le solutionner ?

Merci d'avance pour votre aide.
--
@+
HD





--
Cordialement,

Michel Gaboly
www.gaboly.com

Avatar
HD
As-tu réellement besoin de cette variable ?
En effet, sauf si le classeur contenant le code
est masqué, c'est ce même classeur qui est actif.
Et c'est le cas...


Sinon, où as-tu déclaré ta variable ? il faut que ce
soit dans un module standard (ni dans ThisWorkbook,
ni dans un module associé à une feuille ou à un
UserForm, ni dans un autre module de classe (les
autres modules auxquels je viens de faire référence
sont aussi des modules de classe).


Merci Michel... Car effectivement le problème venait du fait que la variable
public était déclarée dans un module associé à classeur... (au dessus de
Workbook_Open)...
--
@+
HD

Avatar
Michel Gaboly
De rien ;-))

As-tu réellement besoin de cette variable ?
En effet, sauf si le classeur contenant le code
est masqué, c'est ce même classeur qui est actif.
Et c'est le cas...


Sinon, où as-tu déclaré ta variable ? il faut que ce
soit dans un module standard (ni dans ThisWorkbook,
ni dans un module associé à une feuille ou à un
UserForm, ni dans un autre module de classe (les
autres modules auxquels je viens de faire référence
sont aussi des modules de classe).


Merci Michel... Car effectivement le problème venait du fait que la v ariable
public était déclarée dans un module associé à classeur... (a u dessus de
Workbook_Open)...
--
@+
HD





--
Cordialement,

Michel Gaboly
www.gaboly.com