Variable globale

DERKOO

XLDnaute Junior
Bonjour forum


J´ai une variable que je souhaiterai appliquer a tous mes codes dans chacune des feuilles (private Sub) qui sollicitent le module qui sert a definir cette variable

Cette variable se défini ds le module de telle manière:

Public Nomdufichier As String

Sub

blablabla

End sub

Celle ci ne se déclare que dans mon module

et pas dans le reste des programmes...

Est ce normal?

Derkoo
 

G.David

XLDnaute Impliqué
Drekoo
si tu as defini ta variable comme publique il faut que tu la recupere dand ton module sub avant emploi
public trop as string
sub tropic()
trop='cétropiko'
end sub

private sub commandbutton1_Click()
tropic
msgbox trop
end sub

retourne

cétropiko

si tu ne veut définir qu'une fois ta variable il faudra consulter l'aide sur la définition de static
Cordialement
G.David
 

DERKOO

XLDnaute Junior
salut Mdf, Salut G david, Salut Forum

Désolé pour le contre temps..

Mais je viens de découvrir ce qu´est un private MOdule..

J´ai en effet un fichier avec 4 feuilles.

Chacune d entre elles contient une macro (Private Sub) qui enregistre le fichier puis l envoie...
Pour définir sous quel nom le fichier doit être enregistre je fais appel à un même module dans chacune de mes macro. Le pb est que je n´arrive pas à renvoyer le nom défini dans mon module à mes codes de macro.

Je tente alors plusieurs solutions..

1) Variable globale.

je declare
Public Nomdufichier As string (en haut de mon module) pour declarer ma variable a tout l ensembe de mes codes
Ca marche pas

2) Function
ou alors j ai vu aussi que l´instruction Function (Nomdufichier) End Function pour mon module me permetrait de renvoyer la valeur Nomdu fichier à mon code de macro mais je ne maîtrise pas assez bien le vba et j´arrive pas a l ecrire correctement dans mes codes de macros pour qu il me la renvoie.

Voila en gro ou j en suis

Merci pour la remarque

derkoo
 

_Thierry

XLDnaute Barbatruc
Repose en paix
Bonsoir Derkoo, G.David, Didier, le Forum

Je suis en train de remballer au bureau, mais rapidos...

Ta Déclaration de Variable Globale doit se Situer dans un Module Standard ('Module1') par exemple... Et pas un Private Module de Feuille...

L'Initialisation de cette Variable Globale doit se faire avant que tu puisses l'utiliser... Par contre cette initialisation peut se faire depuis n'importe quelle Sub ou Private Sub...

Voilà grosso Modo le Topo....

Bon Week End
@+Thierry
 

Discussions similaires

Statistiques des forums

Discussions
312 280
Messages
2 086 743
Membres
103 384
dernier inscrit
bakhtibenabbey