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
- 10 mars 2006 à 01:02 - Dernière réponse :
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
- 10 mars 2006 à 02:10
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

Merci Gobillot 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 88 internautes ce mois-ci

Messages postés
2381
Date d'inscription
jeudi 12 juillet 2001
Dernière intervention
13 février 2015
- 10 mars 2006 à 01:05
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
- 10 mars 2006 à 01:22
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
- 10 mars 2006 à 01:39
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
- 10 mars 2006 à 09:17
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
- 10 mars 2006 à 11:19
0
Merci
beh Public ;)
Messages postés
72
Date d'inscription
mercredi 15 novembre 2000
Dernière intervention
29 mars 2007
- 10 mars 2006 à 11:33
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.