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 ?

7 réponses

Gobillot
Messages postés
3140
Date d'inscription
vendredi 14 mai 2004
Statut
Membre
Dernière intervention
11 mars 2019
33
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
3
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
13280
Date d'inscription
lundi 13 décembre 2004
Statut
Membre
Dernière intervention
3 février 2018
50
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
13280
Date d'inscription
lundi 13 décembre 2004
Statut
Membre
Dernière intervention
3 février 2018
50
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