CONSTANTE probleme

Résolu
GHGFSJD Messages postés 113 Date d'inscription samedi 11 novembre 2000 Statut Membre Dernière intervention 16 août 2008 - 30 juin 2008 à 17:15
PCPT Messages postés 13272 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 3 février 2018 - 30 juin 2008 à 19:09
Bonjour,
Voila mon petit soucis que je n'arrive pas à regler tt seul :
dans ma form j'aimerais fait cela :

(general)
Option Explicit
dim bidul,machin as string
bidul= ouverture et recherche du contenus precisé d'un .ini
machin=ouverture et recherche du contenus precisé d'un .ini
Private Const VendorID = bidul
Private Const ProductID = machin

si j'applique ce code j'ai l'erreur INVALIDE OUTSIDE PROCEDURE

19 réponses

PCPT Messages postés 13272 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 3 février 2018 47
30 juin 2008 à 17:42
oui.... suivre la syntaxe "normale"

pas besoin de constante
et fais-toi une routine

Option Explicit
Private VendorID As String
Private ProductID As String

Private Sub InitVars()
    VendorID = "ouverture et recherche du
contenus precisé d'un .ini"
    ProductID = "ouverture et recherche du
contenus precisé d'un .ini"
End Sub

<hr size="2" width="100%" />Prenez un instant pour répondre à [infomsg_SONDAGE-POP3-POUR-CS_769706.aspx ce sondage] svp  
3
bigfish_le vrai Messages postés 1835 Date d'inscription vendredi 13 mai 2005 Statut Membre Dernière intervention 20 novembre 2013 15
30 juin 2008 à 17:22
Salut,

jamais vu ce message mais il semblerai que tu ai ecrit du code endehors d'une sub ou fonction ou autre
0
GHGFSJD Messages postés 113 Date d'inscription samedi 11 novembre 2000 Statut Membre Dernière intervention 16 août 2008
30 juin 2008 à 17:24
oui tout a fait mais le soucis est que je veus determiner
Private Const VendorID = bidul
Private Const ProductID = machin
qui ce trouve dans le general de ma form
0
bigfish_le vrai Messages postés 1835 Date d'inscription vendredi 13 mai 2005 Statut Membre Dernière intervention 20 novembre 2013 15
30 juin 2008 à 17:26
...

bidul et machin sont issu de fonction ?
0

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

Posez votre question
LIBRE_MAX Messages postés 1402 Date d'inscription mardi 1 mai 2007 Statut Membre Dernière intervention 7 octobre 2012 6
30 juin 2008 à 17:27
Salut,
les déclarations des variables ou constantes locales doivent être en premier,et avant toute procédure...,

(general)
Option Explicit
dim bidul,machin as string
Private Const VendorID = bidul
Private Const ProductID = machin

bidul= ouverture et recherche du contenus precisé d'un .ini
machin=ouverture et recherche du contenus precisé d'un .ini

<hr />... Y'en a même qui disent qu'ils l'ont vu voler.
0
LIBRE_MAX Messages postés 1402 Date d'inscription mardi 1 mai 2007 Statut Membre Dernière intervention 7 octobre 2012 6
30 juin 2008 à 17:28
et corriges cette ligne
dim bidul as string ,machin as string

<hr />... Y'en a même qui disent qu'ils l'ont vu voler.
0
GHGFSJD Messages postés 113 Date d'inscription samedi 11 novembre 2000 Statut Membre Dernière intervention 16 août 2008
30 juin 2008 à 17:33
merci, mais toujours cette erreur INVALID OUTSIDE PROCEDUR
0
LIBRE_MAX Messages postés 1402 Date d'inscription mardi 1 mai 2007 Statut Membre Dernière intervention 7 octobre 2012 6
30 juin 2008 à 17:36
d' autres part les constantes doivent être initialisées avec des valeurs fixes et non pas par le contenu d' une variable, qui ,plus est, n' est pas encore initilisée.... Y'en a même qui disent qu'ils l'ont vu voler.
0
PCPT Messages postés 13272 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 3 février 2018 47
30 juin 2008 à 17:37
salut

1) une constante est une valeur qui doit être connue au moment de la compilation, ce qui n'est pas le cas ici
2) une attribution de variable ne peut se faire que dans une routine (PROCEDURE), inexistante ici

voici une autre manière pour reproduire ton bug :

Option Explicit
Dim sVar As String

Private Sub Form_Load()
'   init de sVar dans procédure Form_Load
    sVar = "bonjour"
End Sub

'   init de sVar
dans le vent....
    sVar = "bonjour"

<hr size="2" width="100%" />Prenez un instant pour répondre à [infomsg_SONDAGE-POP3-POUR-CS_769706.aspx ce sondage] svp  
0
GHGFSJD Messages postés 113 Date d'inscription samedi 11 novembre 2000 Statut Membre Dernière intervention 16 août 2008
30 juin 2008 à 17:39
ok y as t il une solution ?
0
LIBRE_MAX Messages postés 1402 Date d'inscription mardi 1 mai 2007 Statut Membre Dernière intervention 7 octobre 2012 6
30 juin 2008 à 17:41
dis nous plutôt à quoi ça te sert les constantes
VendorID et ProductID  ?

<hr />... Y'en a même qui disent qu'ils l'ont vu voler.
0
GHGFSJD Messages postés 113 Date d'inscription samedi 11 novembre 2000 Statut Membre Dernière intervention 16 août 2008
30 juin 2008 à 17:50
Merci PCPT ca marche impect et merci aussi à tous les autres pour votre aide.
0
GHGFSJD Messages postés 113 Date d'inscription samedi 11 novembre 2000 Statut Membre Dernière intervention 16 août 2008
30 juin 2008 à 18:00
tiens vu que j'ai des pro sous la main j'en profite pour une deuxiéme question.
Je possede un controle label que j'utilise pour activer une procedure grace a la methode change.Ce label reçois des bits de telecommande donc si j'appuie sur une touche plusieur serie de chiffre apparaisse dans le label avant d'etre fixe.
Pour le moment je me suis apercu que le chiffre 65 apparaissait qu'une fois et c'est ce qui m'aide a lancer ma procedure:
Private Sub Rcv3_Change()
If InStr(BufferIn(5), ("65")) = 1 Then
call procedure
Mais voila il n'est pas sur qu'avec d'autre telecommande ce chiffre apparaisse donc auriez vous une autre solution a mon probleme ?
0
bigfish_le vrai Messages postés 1835 Date d'inscription vendredi 13 mai 2005 Statut Membre Dernière intervention 20 novembre 2013 15
30 juin 2008 à 18:00
...

pense alors à valider la réponse de PCPT
0
bigfish_le vrai Messages postés 1835 Date d'inscription vendredi 13 mai 2005 Statut Membre Dernière intervention 20 novembre 2013 15
30 juin 2008 à 18:02
...
il est preferable pour "le bien de la communauté" de ne poser qu'une question par poste donc pour ta deuxieme question un nouveau poste serait le bien venu.

A+
0
GHGFSJD Messages postés 113 Date d'inscription samedi 11 novembre 2000 Statut Membre Dernière intervention 16 août 2008
30 juin 2008 à 18:05
OK merci
0
PCPT Messages postés 13272 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 3 février 2018 47
30 juin 2008 à 18:24
tant qu'on est dans le "le bien de la communauté", n'hésite pas non plus à aller faire un tour sur tes dernières questions
http://www.vbfrance.com/infomsgm_GHGFSJD_473018.aspx

çà serait pas mal d'y donner suite et de valider si c'est résolu....

article 11 :

On pense à laisser un petit message lorsqu'un problème est résolu et à cliquer sur le bouton «réponse acceptée».
Ce
bouton sert à valider la ou les réponses qui conviennent au problème
indiqué. Il sert aussi de remerciement pour les membres qui ont apporté
la/les bonnes réponses. Enfin une réponse validée est bien plus facile
à retrouver lors de recherches sur le forum. N'oubliez pas qu'un forum
ne sert pas qu'à poser sa question!

bête de le mettre en tant que règle hein, çà devrait être inné :)
<hr size="2" width="100%" />Prenez un instant pour répondre à [infomsg_SONDAGE-POP3-POUR-CS_769706.aspx ce sondage] svp  
0
GHGFSJD Messages postés 113 Date d'inscription samedi 11 novembre 2000 Statut Membre Dernière intervention 16 août 2008
30 juin 2008 à 18:27
Tout a fait d'accord sauf qu'il fallait le savoir pour la validation de la reponsse, il me semble aussi t'avoir remercié pour ton aide dans un post
0
PCPT Messages postés 13272 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 3 février 2018 47
30 juin 2008 à 19:09
"il fallait le savoir", logiquement tu as validé la charte lors de ton inscrition, donc tu l'as forcément lue, comme tout le monde ;)

mais peu importe, çà fait un petit rappel pour tous ;)
bonne soirée
0
Rejoignez-nous