Décalrations générales dans module

Résolu
sechanbask Messages postés 21 Date d'inscription mardi 22 avril 2003 Statut Membre Dernière intervention 12 mai 2009 - 12 déc. 2006 à 10:32
sechanbask Messages postés 21 Date d'inscription mardi 22 avril 2003 Statut Membre Dernière intervention 12 mai 2009 - 12 déc. 2006 à 11:18
Bonjour,



J'ai créer un programme qui marche chez moi mais pas au travail alors que
j'utilise exactement la même application d'utilisation.


Ce programme contient plusieurs procédures et donc plusieurs userform. J'ai
besoin que certaines variables soient générales. Chez moi, je n’ai pas eu le
besoin de les déclarer dans le module qui lance la première procédure (je l’ai
déclaré dans la procédure de ma userform1 avec « public…as… »), au
travail, le logiciel plante et me dit :


« Erreur de compilation :
Projet ou bibliothèque introuvable »

Et il me surligne dans le procédure2 la première variable (à
savoir texte) car elle est définie uniquement
dans la procédure1 en tant que variable semi local : public dans procédure
1



 



J’en conclue donc qu’il faut que je déclare les variables
dont il a besoin de manière générale puisque j’ai besoin parfois dans la
userfrom1 et parfois dans la userform2. C’est pourquoi j’ai essayé ce qui suit
dans le module :



Code :





Sub GAINE()
Public entree As Single
Public diametre As Single
Public diametre_inférieur As Single
Public texte As String
Public pins As Variant
Load UserForm1
Load UserForm2
Load UserForm3
UserForm1.Show

End Sub



 




Seulement voilà, le logiciel plante une fois encore et
m’indique :
« Erreur de compilation :
Attribut incorrect dans une procédure Sub ou Function »



 

Alors là j’ai les boules car je ne peux pas faire aboutir
mon projet et cela me fait vraiment perdre un temps fou…





Merci par anticipation pour l’aide.



 




P.S. J’ai aussi tenter de remplacer dans ma procédure 1 les
déclaration Public par Dim et dans ce cas là le message d’erreur est le suivant :


« Erreur de compilation :


Membre ou méthode introuvable »


Et il me surligne dans le procédure2 la première variable (à
savoir texte) car elle est définie uniquement
dans la procédure1 en tant que variable locale.







P.S.S. Existe-t-il un moyen de définir publiquement les
variables sans les mettre dans les modules ?


P.P.S. Existe-t-il un autre moyen pour que d’une procédure à
l’autre, il retient la valeur d’une variable ? Où est-ce que la
déclaration public est suffisante ?

3 réponses

drikce06 Messages postés 2236 Date d'inscription lundi 29 mai 2006 Statut Membre Dernière intervention 29 mai 2008 10
12 déc. 2006 à 10:37
Salut!
La variable public doit être défini dans un module tout en haut, et non dans une procédure, pour qu'elle est une portée sur toute ton application!

 Drikce 06

Si la réponse vous convient: Réponse acceptée. Si la réponse vous convient pas:
3
cs_casy Messages postés 7741 Date d'inscription mercredi 1 septembre 2004 Statut Membre Dernière intervention 24 septembre 2014 40
12 déc. 2006 à 10:47
Public entree As Single
Public diametre As Single
Public diametre_inférieur As Single
Public texte As String
Public pins As Variant

Sub GAINE()
Load UserForm1
Load UserForm2
Load UserForm3
UserForm1.Show
End Sub





---- Sevyc64  (alias Casy) ----<hr size="2" width="100%" /># LE PARTAGE EST NOTRE FORCE #
0
sechanbask Messages postés 21 Date d'inscription mardi 22 avril 2003 Statut Membre Dernière intervention 12 mai 2009
12 déc. 2006 à 11:18
merci Sevyc64  (alias Casy) et Drikce 06

en effet le partage est notre force !
0
Rejoignez-nous