Déclaré une feuille excel en global

Résolu
monaldinho Messages postés 74 Date d'inscription jeudi 24 mai 2007 Statut Membre Dernière intervention 25 octobre 2007 - 4 juil. 2007 à 12:15
monaldinho Messages postés 74 Date d'inscription jeudi 24 mai 2007 Statut Membre Dernière intervention 25 octobre 2007 - 5 juil. 2007 à 13:11
hello !

Cela fait un bout de temps que je suis sur ce probleme de déclaration!
J'ai l'impression que c'est un truc tout bete, mais je ne trouve la solution nulle part, donc vous etes mon dernier espoir!

J'ai créér un module dans lequel je dois déclarer des variables ( des colonne d'une feuille, une feuille, ...)
Mon probleme est que je ne voit pas comment les déclarés pour qu'ils puissent etre utilisé comme bon me semble dans les procédures des autres modules.

voila la derniere déclaration que j'ai essayé:
Public WKSD As Worksheets
WKSD = Worksheets("DATA")

ensuite dans mes procédure, j'apelle WKSD, mais cela m'indique : " erreur à l'exterieur de la procédure", en renvoyant sur les 2 lignes ci-dessus.

Si vous avez une idée de comment faire de telle déclaration, s'il vous plait, help me !!!!

merci!!!

Monaldinho.

 faites comme moi, éssayer d'éviter le coté obscur de la force
A voir également:

15 réponses

cs_MPi Messages postés 3877 Date d'inscription mardi 19 mars 2002 Statut Membre Dernière intervention 17 août 2018 23
5 juil. 2007 à 12:09
Disons que tu déclares ta variable dans un module en entête de code en dehors de toute procédure
Public WKSD as Workbook

À l'ouverture de ton programme (ou ailleurs), ça peut être dans Workbook_Open de ThisWorkbook, tu mets
Set WKSD = Worksheets("DATA")

Ensuite, tu pourras utiliser WKSD n'importe où dans ton programme sans devoir utiliser le SET. Il sera initialisé et reconnu dans tout ton programme.

Quand tu fermes ton appli, tu mets
Set WKSD = Nothing
pour bien détruire l'objet déclaré

MPi
3
cs_Exploreur Messages postés 4821 Date d'inscription lundi 11 novembre 2002 Statut Membre Dernière intervention 15 novembre 2016 15
4 juil. 2007 à 12:42
Salut,

Je serais bien tenté de faire un truc du genre dans ton module :

Public WKSD As Worksheets
Const WKSD = Worksheets("DATA")

A+
Exploreur

 Linux a un noyau, Windows un pépin

 
0
monaldinho Messages postés 74 Date d'inscription jeudi 24 mai 2007 Statut Membre Dernière intervention 25 octobre 2007
4 juil. 2007 à 14:53
hello exploreur!


merci d'avoir repondu! :)


mais... car il y a un mais... cela provoque ce message d'erreur :


"nom ambigu détécté : WKSD "  :(


Monaldinho.

 faites comme moi, éssayer d'éviter le coté obscur de la force
0
cs_Exploreur Messages postés 4821 Date d'inscription lundi 11 novembre 2002 Statut Membre Dernière intervention 15 novembre 2016 15
4 juil. 2007 à 15:00
Salut,

Normal...j'suis bidon...Essaye comme cela défois...

Public WKSD As Worksheets
Const TOTO = Worksheets("DATA")

A+
Exploreur

 Linux a un noyau, Windows un pépin

 
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
monaldinho Messages postés 74 Date d'inscription jeudi 24 mai 2007 Statut Membre Dernière intervention 25 octobre 2007
4 juil. 2007 à 15:12
hello explorateur,


euh... ca ne marche po trop ça non plus... il reconnait pas l'objet ( que ca soit "toto" ou "wksd").


j'ai testé ca aussi : Public Const WKSD as Worksheet =Worksheets("DATA")


mais la il ne reconnait pas le type ( la faute est sur ce qui est violet). :(

je suis sur de n'etre pas loin de la réponse... est pourtant si loin de la trouver...

Monaldinho, prefere le football à la programmation! lol

 faites comme moi, éssayer d'éviter le coté obscur de la force
0
cs_Exploreur Messages postés 4821 Date d'inscription lundi 11 novembre 2002 Statut Membre Dernière intervention 15 novembre 2016 15
4 juil. 2007 à 15:19
Ouais...Ben moi je vais me faire soigner les neurones et revoir un peu(voir pas mal) de chose....

A+
Exploreur

 Linux a un noyau, Windows un pépin

 
0
monaldinho Messages postés 74 Date d'inscription jeudi 24 mai 2007 Statut Membre Dernière intervention 25 octobre 2007
4 juil. 2007 à 15:23
ok!

merci pour ton aide!!!

bonne fin de journée a toi.

a++

Monaldinho.

 faites comme moi, éssayer d'éviter le coté obscur de la force
0
monaldinho Messages postés 74 Date d'inscription jeudi 24 mai 2007 Statut Membre Dernière intervention 25 octobre 2007
4 juil. 2007 à 17:43
bon bah je crois je ne le saurais jamais...

 faites comme moi, éssayer d'éviter le coté obscur de la force
0
cs_MPi Messages postés 3877 Date d'inscription mardi 19 mars 2002 Statut Membre Dernière intervention 17 août 2018 23
4 juil. 2007 à 23:20
SET  , c'est un objet ...

Public WKSD As Worksheet  'pas de s
Set WKSD = Worksheets("DATA")

MPi
0
monaldinho Messages postés 74 Date d'inscription jeudi 24 mai 2007 Statut Membre Dernière intervention 25 octobre 2007
5 juil. 2007 à 09:22
 faites comme moi, éssayer d'éviter le coté obscur de la force
0
monaldinho Messages postés 74 Date d'inscription jeudi 24 mai 2007 Statut Membre Dernière intervention 25 octobre 2007
5 juil. 2007 à 09:24
zut ca c'est pas affiché... ( je l'avais anticipé, j'ai fais un copier ! ) :

hello MPi!

j'ai essayé ce que tu m'as proposé, mais ça m'affiche l'erreur suivante :
"erreur de compilation: instruction incorect à l'exterieur de la procédure "
l'erreur est sur le  "Set"

merci de m'aider, c'est cool, tu me donnes de l'espoir!

à bientot!
bonne journée!

Monaldinho

 faites comme moi, éssayer d'éviter le coté obscur de la force
0
cs_MPi Messages postés 3877 Date d'inscription mardi 19 mars 2002 Statut Membre Dernière intervention 17 août 2018 23
5 juil. 2007 à 11:30
Ben tu peux déclarer ta variable-objet en dehors des procédures, mais le SET doit être placé à l'intérieur d'une de tes procédures... là où tu t'en serviras.

MPi
0
monaldinho Messages postés 74 Date d'inscription jeudi 24 mai 2007 Statut Membre Dernière intervention 25 octobre 2007
5 juil. 2007 à 11:55
hello MPi !

Yes, quand je met "Set WKSD = Worksheets("DATA")" dans la procédure ça marche.
Mais il faudrai que je mette cette instruction dans toutes les procédures qui utilise la feuille "DATA" ?
Parce que mon patron m'as demandé de créer un module avec plein de déclaration ( déclaration de feuille, déclaration de colonne, ... ) pour ne pas à avoir à les mettre à chaque début de procédure.
Est ce possible a ton avis, ou dois-je déclarer au début de chaque procédure ces variables?

Merci de tes réponses!

Monaldinho

 faites comme moi, éssayer d'éviter le coté obscur de la force
0
cs_MPi Messages postés 3877 Date d'inscription mardi 19 mars 2002 Statut Membre Dernière intervention 17 août 2018 23
5 juil. 2007 à 12:10
Oups... petite erreur,
tu dois déclarer As Worksheet, pas As Workbook

Public WKSD as Worksheet

MPi
0
monaldinho Messages postés 74 Date d'inscription jeudi 24 mai 2007 Statut Membre Dernière intervention 25 octobre 2007
5 juil. 2007 à 13:11
hello MPi,

alors la, tu es monté au sommum de mon estime!!!!!
C'est trop trop trop frot !!!
c'est trop genial!!
ça marche!!
j'aurais juste à la déclaré dans thisworkbook!
you are a genius!!

merci bcp!!!

bonne continuation à toi!
bonne fin de journée!!

(j'ai le droit a ma pause dejeuné grace à toi!  )

à bientot!

Monaldinho.

 faites comme moi, éssayer d'éviter le coté obscur de la force
0
Rejoignez-nous