Compile error : variable required - can't assign to this expression

Résolu
cs_kharrat Messages postés 71 Date d'inscription mercredi 15 novembre 2000 Statut Membre Dernière intervention 29 mars 2007 - 10 mars 2006 à 01:02
cs_kharrat Messages postés 71 Date d'inscription mercredi 15 novembre 2000 Statut Membre Dernière intervention 29 mars 2007 - 10 mars 2006 à 11:33
Salut,

J'essaie d'écrire le bout de code suivant :

Type unType
val As String
End Type

Private Sub FaireQqChose(uneVar as unType)

'fait qq chose

End Sub

'# appelle de la fonction

Dim mQqun as unType
FaireQqChose(mQqun)
'# génère une erreur compile error : variable required - can't assign to this expression

Quelqu'un aurait-il une idée ?
A voir également:

7 réponses

Gobillot Messages postés 3140 Date d'inscription vendredi 14 mai 2004 Statut Membre Dernière intervention 11 mars 2019 34
10 mars 2006 à 02:10
Private Type unType

maVal As String

End Type



Private Sub Command1_Click()

Dim mQqun As unType

FaireQqChose mQqun 'sans parenthèses

End Sub



Private Sub FaireQqChose(uneVar As unType)

Beep

End Sub


Daniel
1
cs_Willi Messages postés 2375 Date d'inscription jeudi 12 juillet 2001 Statut Modérateur Dernière intervention 15 décembre 2018 22
10 mars 2006 à 01:05
Bonsoir,
Plus de précision.....où se produit l'erreur à quelle ligne ??
0
PCPT Messages postés 13272 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 3 février 2018 47
10 mars 2006 à 01:22
1. type doit avoir une portée (private public)

2. VAL est un mot réservé!



++
0
cs_kharrat Messages postés 71 Date d'inscription mercredi 15 novembre 2000 Statut Membre Dernière intervention 29 mars 2007
10 mars 2006 à 01:39
ok, je reprend

'#---code---------------------------------
Type unType
maVal As String '# comme ca, ca n'est plus un mot clé
End Type

Private Sub FaireQqChose(uneVar as unType)

'fait qq chose

End Sub

'# appelle de la fonction

Dim mQqun as unType
FaireQqChose(mQqun) '# l'erreur se preduit là !!!!
'# génère une erreur compile error : variable required - can't assign to this expression
'#---fin code-----------------------------------

J'ai vu sur un autre forum une solution à ce problème, mais ça n'est pas beau à voir :

'# on redéclare la procédure comme une Function qui renvoie
'# un booléen
Private Function FaireQqChose(uneVar as unType) As Boolean

'fait qq chose

End Sub

'# l'appelle se fait comme suit :
Dim vraiOuFaux As Boolean
Dim mQqun As unType
vraiOuFaux = FaireQqchose(mQqun) '# CA MARCHE... mais c pas bo

si vous avez mieux... je prend

+ les gras
0

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

Posez votre question
cs_kharrat Messages postés 71 Date d'inscription mercredi 15 novembre 2000 Statut Membre Dernière intervention 29 mars 2007
10 mars 2006 à 09:17
Est-ce que la déclaration du Type comme Private est nécessaire ?

Si c'est bien le cas, ça voudrait dire qu'il faut déclarer mon Type dans le module de la fonction appelante... ce qui n'est pas très confortable !

à vos poste !
0
PCPT Messages postés 13272 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 3 février 2018 47
10 mars 2006 à 11:19
beh Public ;)
0
cs_kharrat Messages postés 71 Date d'inscription mercredi 15 novembre 2000 Statut Membre Dernière intervention 29 mars 2007
10 mars 2006 à 11:33
Ca marche d'enfer... jusqu'au prochain bug ! hihihi ;)
0
Rejoignez-nous