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

Signaler
Messages postés
71
Date d'inscription
mercredi 15 novembre 2000
Statut
Membre
Dernière intervention
29 mars 2007
-
Messages postés
71
Date d'inscription
mercredi 15 novembre 2000
Statut
Membre
Dernière intervention
29 mars 2007
-
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

Messages postés
3140
Date d'inscription
vendredi 14 mai 2004
Statut
Membre
Dernière intervention
11 mars 2019
27
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
Merci

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

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

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

2. VAL est un mot réservé!



++
Messages postés
71
Date d'inscription
mercredi 15 novembre 2000
Statut
Membre
Dernière intervention
29 mars 2007

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
71
Date d'inscription
mercredi 15 novembre 2000
Statut
Membre
Dernière intervention
29 mars 2007

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
13280
Date d'inscription
lundi 13 décembre 2004
Statut
Modérateur
Dernière intervention
3 février 2018
39
beh Public ;)
Messages postés
71
Date d'inscription
mercredi 15 novembre 2000
Statut
Membre
Dernière intervention
29 mars 2007

Ca marche d'enfer... jusqu'au prochain bug ! hihihi ;)