Appelle de procedure et byref

Signaler
Messages postés
38
Date d'inscription
mardi 7 janvier 2003
Statut
Membre
Dernière intervention
6 juin 2003
-
Messages postés
3
Date d'inscription
mardi 7 octobre 2003
Statut
Membre
Dernière intervention
12 février 2004
-
Bijour !
j'ai declaré ma procedure de cette manière :
Public Sub Parametres(ByVal ligne As String, ByRef chemin As String, ByRef nom As String)
J'appelle ma procedure ds le programme principal :

Call Parametres(ligne, chemin, nom)

et j'ai droit ayu message d'erreur : type d'argument byref incompatible !
aidez moi stp !

5 réponses

Messages postés
1471
Date d'inscription
mardi 5 février 2002
Statut
Membre
Dernière intervention
20 octobre 2014
12
Parametres ligne, chemin, nom

au lieu de Call Parametres(ligne, chemin, nom)

:clown) BasicInstinct :clown)
0
Messages postés
1858
Date d'inscription
samedi 29 juin 2002
Statut
Membre
Dernière intervention
17 octobre 2013
10
Salut !

AVANT
Call Parametres(truc, machin, chose),
tu DOIS déclarer les variables que tu passes par référence :
Dim machin As String, chose As String

(sinon, tu passes des variables de type variant alors que le Sub attend des Strings)
0
Messages postés
15814
Date d'inscription
jeudi 8 août 2002
Statut
Modérateur
Dernière intervention
4 mars 2013
133
Ou alors, vérifie que tu envoie bien des variables de types string...

DARK SIDIOUS
0
Messages postés
12
Date d'inscription
lundi 28 avril 2003
Statut
Membre
Dernière intervention
13 janvier 2004

-------------------------------
Réponse au message :
-------------------------------

> Bijour !
> j'ai declaré ma procedure de cette manière :
> Public Sub Parametres(ByVal ligne As String, ByRef chemin As String, ByRef nom As String)
> J'appelle ma procedure ds le programme principal :
>
> Call Parametres(ligne, chemin, nom)
>
> et j'ai droit ayu message d'erreur : type d'argument byref incompatible !
> aidez moi stp !
>
0
Messages postés
3
Date d'inscription
mardi 7 octobre 2003
Statut
Membre
Dernière intervention
12 février 2004

Il faut déclarer chaque paramètre indépendemment :

Dim ligne As String
Dim chemin As String
Dim nom As String

Au lieu de :
Dim ligne, chemin, nom As String

Dans ce dernier cas, seul "nom" est déclaré en string. "ligne" et "chemin" sont des variants. Tu passes des variants à ta proc qui attend des strings !

a+

tleg / Sophia
:big)
0