smilingjoe2
Messages postés20Date d'inscriptionvendredi 22 juillet 2005StatutMembreDernière intervention19 août 2005
-
3 août 2005 à 17:08
smilingjoe2
Messages postés20Date d'inscriptionvendredi 22 juillet 2005StatutMembreDernière intervention19 août 2005
-
3 août 2005 à 21:43
Bonjour,
Il m'arrive une chose curieuse, j'ai un code qui fonctionne dans une form et pas dans l'autre. Dans le 2ème form, je bug sur 'année'. Si quelqu'un peut m'aider avant que je ne jette mon ordi par la fenêtre ..... Merci.
dans le module 1 j'ai déclaré mes variables :
Public vitamineA As String
Public vitamineB As String
ensuite, dans chaque form j'ai mis exactement le même code :
Private Sub vitamine()
vitamineA = " Lundi, c'est le jour des vitamines A!"
vitamineB = "mecredi, jour des vitamines B!"
If Weekday(DateSerial(Année, Mois, jour),_ vbMonday) = 1 Then
Text1.Text = vitamineA & Text2.Text
ElseIf Weekday(DateSerial(Année, Mois, jour),_ vbMonday) = 3 Then
Text1.Text = vitamineB & Text2.Text
Else
Text1.Text = Text2.Text
End If
smilingjoe2
Messages postés20Date d'inscriptionvendredi 22 juillet 2005StatutMembreDernière intervention19 août 2005 3 août 2005 à 21:43
La reponse est : OPTION EXPLICIT. Je méditait sur les réponses de Daniel quand la lumière s'est faite. Je suis un triple idiot : mon form 2 n'était pas vide, j'avais déjà des sub et ... un option explicit.
Donc form1 variant et form2 option explicit --> obligé de déclarer 'année'
Voilà. l'aprés-midi et uen bonne partie de la soirée à me taper la tête contre les murs pour ça. !!
smilingjoe2
Messages postés20Date d'inscriptionvendredi 22 juillet 2005StatutMembreDernière intervention19 août 2005 3 août 2005 à 18:41
- La solution : mettre la fonction dans le module1 en public sub vitamine() et l'appeller à partir de mes 2 forms. Et là ça marche partout.
- L'explication ?????
smilingjoe2
Messages postés20Date d'inscriptionvendredi 22 juillet 2005StatutMembreDernière intervention19 août 2005 3 août 2005 à 19:34
Où est passée ma réponse ? J'ai du cliquer sur la mauvaise fenêtre. ..
Je ne crois pas ( en tout cas pas par moi) J'ai fait un copié-collé de mon projet vide TEST ( ça fonctionnait) vers le form2 de mon appli. Et là bug. Je l'ai alors testé sur le form1 de la dite appli. toujours en copier collé. 9a fonctionnait. Je n'ai jamais déclaré 'année' nulle part.
J'ai effacé le code du form1 et du form2, copié-collé ( bon d'accord, j'ai transformé private sub en public sub) en module1, un call sur le form1, un call sur le form2 et ça marche partout. Toujours pas déclaré 'année' et toujours rien compris!
smilingjoe2
Messages postés20Date d'inscriptionvendredi 22 juillet 2005StatutMembreDernière intervention19 août 2005 3 août 2005 à 20:13
Tu as raison, pour OPTION ECPLICIT. Autant prendre de suite de bonnes habitudes. Ce qui m'evitera sans doute ce genre de casse-tête ! En tant que débutant en dév. et en VB j'ai dejà suffiseament de mal comme ça!
D'ailleurs j'en profite pour te remercier de tes réponses et pour remercier tous ceux qui répondent d'une manière générale. C'est grâce à vous que mon appli est bientôt presque-terminée.