Compile error : variable required - can't assign to this expression [Résolu]

Messages postés
72
Date d'inscription
mercredi 15 novembre 2000
Dernière intervention
29 mars 2007
- - Dernière réponse : cs_kharrat
Messages postés
72
Date d'inscription
mercredi 15 novembre 2000
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 ?
Afficher la suite 

7 réponses

Meilleure réponse
Messages postés
3140
Date d'inscription
vendredi 14 mai 2004
Dernière intervention
31 mars 2015
17
3
Merci
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

Dire « Merci » 3

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

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

Messages postés
2382
Date d'inscription
jeudi 12 juillet 2001
Dernière intervention
15 décembre 2018
17
0
Merci
Bonsoir,
Plus de précision.....où se produit l'erreur à quelle ligne ??
Messages postés
13368
Date d'inscription
lundi 13 décembre 2004
Dernière intervention
3 février 2018
30
0
Merci
1. type doit avoir une portée (private public)

2. VAL est un mot réservé!



++
Messages postés
72
Date d'inscription
mercredi 15 novembre 2000
Dernière intervention
29 mars 2007
0
Merci
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
Messages postés
72
Date d'inscription
mercredi 15 novembre 2000
Dernière intervention
29 mars 2007
0
Merci
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 !
Messages postés
13368
Date d'inscription
lundi 13 décembre 2004
Dernière intervention
3 février 2018
30
0
Merci
beh Public ;)
Messages postés
72
Date d'inscription
mercredi 15 novembre 2000
Dernière intervention
29 mars 2007
0
Merci
Ca marche d'enfer... jusqu'au prochain bug ! hihihi ;)

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.