VB6 Variable d'un module dans un Form [Résolu]

Messages postés
532
Date d'inscription
lundi 5 juin 2006
Statut
Membre
Dernière intervention
6 octobre 2012
- - Dernière réponse : cs_rt15
Messages postés
3874
Date d'inscription
mardi 8 mars 2005
Statut
Modérateur
Dernière intervention
7 novembre 2014
- 11 juin 2006 à 22:43
Salut....

J'ai un petit problème.....

Je déclare un variable dans un Module

Public Function Len_(ByVal vsInput As String) As String

Public intLongueur As Integer
intLongueur = Len(vsInput)

End Function

Je veux donc utiliser la variable intLongeur dans ma Form

If intLongueur = 32 Then

Mais ca me sort un message d'erreur comme quoi qu'il y a une erreur de compilation et ma variable n'est pas définie.

J'ai essayé quelques truc comme       

If Module.intLongueur = 32 Then

mais ca ne fonctionne pas...

d'où vient mon Erreur ????

merci.
Afficher la suite 

4 réponses

Meilleure réponse
Messages postés
3874
Date d'inscription
mardi 8 mars 2005
Statut
Modérateur
Dernière intervention
7 novembre 2014
10
3
Merci
Bonjour,


Pourquoi ne pas faire :


Public Function Len_(ByVal vsInput As String) As Long

  Len_ = Len(vsInput)

End Function


Sinon, pour que le code précédent marche, je crois qu'il faudrait faire ça :


Public intLongueur As Integer


Public Function Len_(ByVal vsInput As String) As String

  intLongueur = Len(vsInput)

End Function


La portée (L'endroit (juste dans la routine, partout dans 'appli...) ou
la variable est définie) n'est pas seulement définie par Dim ou Public,
mais aussi par l'emplacement de la déclaration.


Une public hors routine sera visible dans toute l'appli.


Une dim hors routine sera visible dasn toutes les routines du modules.


Une public dans une routine serat... illégale !


Une dim dans une routine ne sera vu que dans la routine elle même.

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 198 internautes nous ont dit merci ce mois-ci

Commenter la réponse de cs_rt15
Messages postés
228
Date d'inscription
mardi 5 avril 2005
Statut
Membre
Dernière intervention
4 janvier 2008
1
0
Merci
Pour déclarer une variable dans un module que tu puisses ensuite retrouver dans tout ton projet il faut faire :
(Il ne faut pas la mettre dans une sub ou une fonction car dans ce cas-là sa portée ne sera que de la sub ou de la fonction)

Global nomVariable As Integer

++





Deluka.
Commenter la réponse de cs_franckydeluka
Messages postés
532
Date d'inscription
lundi 5 juin 2006
Statut
Membre
Dernière intervention
6 octobre 2012
1
0
Merci
ok merci à vous deux.....

Pour la variable ca va... mais j'ai un problème pour appeler ma fonction qui est dans le Module...

J'ai dans ma From ce code...
If Module.intLongueur = 32 Then
                Count = Count + 1
                If Count = 1 Then
                    Len_ ..........
                End If
End If

Et ma fonction dans le Module

Public Function Len_(ByVal vsInput As String) As String
 
intLongueur = Len(vsInput)
 
End Function

Ici ca me dit que

Erreur de compilation: Cet argument n'est pas facultatif...

Pourquoi ca me fait ca j'ai un problème qui est lié au Module ou bien quelque chose d'autre...

J'ai même essay le Call afin d'apaler la fonction et bien ca fonctionne pas...
J'ai essayé de nommé ma fonction
Module.Len_

Touhours pareil il ne reconnaît pas le Len_

Je suis perdu....

Aider moi....
Commenter la réponse de cs_MagDix
Messages postés
3874
Date d'inscription
mardi 8 mars 2005
Statut
Modérateur
Dernière intervention
7 novembre 2014
10
0
Merci
Bin tu es vraiment débutant de chez débutant toi.

M'enfin, qui ne l'a pas été...

Vala un lien vers des cours.

Le problème, c'est que ta fonction à besoin que tu lui passe un argument : tu l'a définie comme ayant besoin d'une chaîne de caractère.

dim MaChaine As String
...
If Module.intLongueur(MaChaine) = 32 Then
                Count = Count + 1
                If Count = 1 Then
                    Len_ ..........
                End If
End If
Commenter la réponse de cs_rt15