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

cs_kharrat 72 Messages postés mercredi 15 novembre 2000Date d'inscription 29 mars 2007 Dernière intervention - 10 mars 2006 à 01:02 - Dernière réponse : cs_kharrat 72 Messages postés mercredi 15 novembre 2000Date d'inscription 29 mars 2007 Dernière intervention
- 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

Gobillot 3140 Messages postés vendredi 14 mai 2004Date d'inscription 31 mars 2015 Dernière intervention - 10 mars 2006 à 02:10
+3
Utile
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
Cette réponse vous a-t-elle aidé ?  
cs_Willi 2381 Messages postés jeudi 12 juillet 2001Date d'inscription 13 février 2015 Dernière intervention - 10 mars 2006 à 01:05
0
Utile
Bonsoir,
Plus de précision.....où se produit l'erreur à quelle ligne ??
PCPT 13368 Messages postés lundi 13 décembre 2004Date d'inscription 3 février 2018 Dernière intervention - 10 mars 2006 à 01:22
0
Utile
1. type doit avoir une portée (private public)

2. VAL est un mot réservé!



++
cs_kharrat 72 Messages postés mercredi 15 novembre 2000Date d'inscription 29 mars 2007 Dernière intervention - 10 mars 2006 à 01:39
0
Utile
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
cs_kharrat 72 Messages postés mercredi 15 novembre 2000Date d'inscription 29 mars 2007 Dernière intervention - 10 mars 2006 à 09:17
0
Utile
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 !
PCPT 13368 Messages postés lundi 13 décembre 2004Date d'inscription 3 février 2018 Dernière intervention - 10 mars 2006 à 11:19
0
Utile
beh Public ;)
cs_kharrat 72 Messages postés mercredi 15 novembre 2000Date d'inscription 29 mars 2007 Dernière intervention - 10 mars 2006 à 11:33
0
Utile
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.