Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Erreur fonction vba avec 2 arguments ou plus...

2 réponses
Avatar
pierref
Bonjour,

J'ai écrit une fonction vba qui prend 2 arguments en paramètre :

Function test(x As Integer, xxx As String)
...
End Function

Si je l'appelle de la maniere suivante dans une Sub :
test(1, "ooo")
J'ai le message d'erreur "attendu :="

Si je l'appelle de la maniere suivante :
call test(1, "ooo")
J'ai le message d'erreur "type d'argument byref incompatible"

Je ne comprends pas bien ces erreurs... d'autant que quand il y a un seul
argument, l'appel test(1, "ooo") passe tout seul.

Quelqu'un pourrait-il m'aider et m'expliquer ?

Par avance merci

Pierre

2 réponses

Avatar
papou
Bonjour
Essai comme ceci
retour = Test(2, "pierref")
ou bien
Test 2, "pierref"

Cordialement
Pascal

"pierref" a écrit dans le message de
news:
Bonjour,

J'ai écrit une fonction vba qui prend 2 arguments en paramètre :

Function test(x As Integer, xxx As String)
...
End Function

Si je l'appelle de la maniere suivante dans une Sub :
test(1, "ooo")
J'ai le message d'erreur "attendu :="

Si je l'appelle de la maniere suivante :
call test(1, "ooo")
J'ai le message d'erreur "type d'argument byref incompatible"

Je ne comprends pas bien ces erreurs... d'autant que quand il y a un seul
argument, l'appel test(1, "ooo") passe tout seul.

Quelqu'un pourrait-il m'aider et m'expliquer ?

Par avance merci

Pierre



Avatar
Mousnynao

Bonjour,

J'ai écrit une fonction vba qui prend 2 arguments en paramètre :

Function test(x As Integer, xxx As String)
...
End Function

Si je l'appelle de la maniere suivante dans une Sub :
test(1, "ooo")
J'ai le message d'erreur "attendu :="

Si je l'appelle de la maniere suivante :
call test(1, "ooo")
J'ai le message d'erreur "type d'argument byref incompatible"

Je ne comprends pas bien ces erreurs... d'autant que quand il y a un seul
argument, l'appel test(1, "ooo") passe tout seul.

Quelqu'un pourrait-il m'aider et m'expliquer ?

Par avance merci

Pierre

Bonjour,


Function test(ByVal x As Integer, ByVal xxx As String)
...
End Function


si la procédure d'appel, devait recevoir le paramètre modifié :

ex.:

Sub Essai

Dim aa As Integer
Dim aaa As String

aa = 1
aaa = "CeMot"

test(aa, aaa)

MsgBox aa & VbCrLf & aaa

End Sub

Function test(ByRef x As Integer, ByRef xxx As String)

aa = 128
aaa = "NouveauMot"

End Function

mousnynao