begin process at 2012 02 14 07:11:43
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Visual Basic 6

 > 

Divers

 > 

General

 > 

Erreur ByRef et tableau


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Erreur ByRef et tableau

samedi 11 novembre 2006 à 18:49:51 | Erreur ByRef et tableau

Vedlen

Bonjour,
J'ai un tableau dynamique Tableau(), et je souhaiterai utiliser la donnée de Tableau(1) dans une fonction.
Sauf qu'au niveau de :
Variable = Fonction(Tableau(1)) : j'obtient un message d'erreur qui me dit que le type ByRef est incompatible.

Si, au niveau de la déclaration de la fonction, j'ajoute "ByVal" juste devant le nom de la varible pour l'argument ; je n'ai plus d'erreur.
Mais si je n'ai pas accès à la déclaration de la variable, comme pour par exemple :

List1.list(Tableau(1)) : j'ai la même erreur.

La seule solution que j'ai trouvé est de placer le contenu de Tableau(1) dans une variable intermédiaire, mais ce n'est pas pratique.
Quelqu'un aurait il une solution ?

Merci d'avance
samedi 11 novembre 2006 à 20:31:20 | Re : Erreur ByRef et tableau

Dolphin Boy

Membre Club
Salut, pour te répondre, j'aimerais bien connaître le code de ta function.

Par ailleurs, si Tableau(1) contient un integer, je ne vois pas pourquoi List1.list(Tableau(1)) te renverrait une erreur si Tableau(1) contient de l'integer et que ce nombre est < List1.ListCount.
samedi 11 novembre 2006 à 21:09:45 | Re : Erreur ByRef et tableau

mortalino

Membre Club


Salut,

je confirme, il nous faut ta fonction pour te répondre.
Les types de données doivent être correspondant.

@++


  --Mortalino--
Le mystérieux chevalier, "Provençal, le Gaulois"
samedi 11 novembre 2006 à 22:36:03 | Re : Erreur ByRef et tableau

Vedlen

Function NumContact(Nom As String) As Integer For i = 0 To (List1.ListCount - 1) If Nom = List1.List(i) Then ContactVersNum = i Exit Function End If Next i End Function Voilà une des fonctions
samedi 11 novembre 2006 à 22:43:12 | Re : Erreur ByRef et tableau

mortalino

Membre Club
Réponse acceptée !


Alors donc dans
Variable = Fonction(Tableau(1))
--> Variable doit être de type Integer

Et sinon, c'est logique que tu aies une erreur, ContactVersNum  (dans ta fonction ici présente) n'est pas déclarée, et qui dit ByRef, dit que nom devrait (logiquement) récupérer une autre valeur.
Sinon, faut mettre ByVal.

Et pour finir, si la fonction est placée hors du Module de la Form où se trouve ta List1, il faut, devant List1 dans le code de ta fonction, placer le nom de la Form.

@++


  --Mortalino--
Le mystérieux chevalier, "Provençal, le Gaulois"
/DIV>
samedi 11 novembre 2006 à 22:49:26 | Re : Erreur ByRef et tableau

Vedlen

"Et pour finir, si la fonction est placée hors du Module de la Form où se trouve ta List1, il faut, devant List1 dans le code de ta fonction, placer le nom de la Form." Oui, ça je sais bien :P Après avoir re-testé quelques fois, il y a des trucs qui ne marchaient pas avant et qui marchent maintenant, sans même avoir remarqué ce que j'ai modifié entre temps lol. Bref, le problème a l'air résolu.. Merci de vos réponses
samedi 11 novembre 2006 à 22:50:49 | Re : Erreur ByRef et tableau

mortalino

Membre Club


De rien,

et  "Oui, ça je sais bien :P"  >> c'était au cas où  :$

bonne prog

@++


  --Mortalino--
Le mystérieux chevalier, "Provençal, le Gaulois"
/DIV>
dimanche 12 novembre 2006 à 12:50:24 | Re : Erreur ByRef et tableau

MPi

En plus de ce que Mortalino t'a expliqué, une Function doit retourner une valeur, ici un Integer. Peut-être est-ce une faute d'inattention, peut-être que la Function a été modifiée avec le temps et que tu as oublié de changer le nom de la Function de retour,... Et possiblement que tu n'as pas Option Explicit déclaré en haut de la page de code....


Function NumContact(Nom As String) As Integer

For i = 0 To (List1.ListCount - 1)
  If Nom = List1.List(i) Then
'  ContactVersNum = i
  NumContact = i  ' ici, ce doit être le nom de la Function, en principe.
  Exit Function
  End If
Next i

End Function

MPi
dimanche 12 novembre 2006 à 15:32:55 | Re : Erreur ByRef et tableau

Vedlen

Effectivement j'ai modifié le nom de la fonction pour l'afficher ici ; le nom de départ de la fonction est bien ContactVersNum :). Donc il n'y avais pas de problème à ce niveau là Mais bonne remarque


Cette discussion est classée dans : fonction, variable, erreur, tableau, niveau


Répondre à ce message

Sujets en rapport avec ce message

VB6 : Pb pour retourner un tableau dynamique à une fonction d'une class. Erreur : "byref argument type mismatch" [ par Polack77 ] <v: répéter une macro en fonction d'une variable [ par faustina ] Bonjour à tous,voici mon problème qui me bloc depuis quelques temps, j'ai établit un tableau attribuant divers données pour une grande liste d'équipem Pourquoi ai-je une erreur lors d'une recherche si la valeur n'existe pas ? [ par prophecy ] Bonjour,J'essaye de faire une recherche dans un tableau excel à partire d'une macro.Si la valeur que je recherhce n'est pas dans le tableau la macro b Récupérer caratère [ par Portos67 ] Bonjour,Je voudrais si possible récupérer séparemment des caractère rentré dans une textbox, du genrel'utilisateur rentre "azerty", et je veux pouvoir Fonction Trim : erreur de compilation [ par Kartograv ] Bonjour à tous,J'ai un problème au débugage de mon sub. Avec le message "Erreur de compilation. Projet ou bibliothèque introuvable" qui s'applique à " Tableau croisé dynamique - Macro - Erreur n°5. [ par Mxwell ] Bonjour à tous. (Et bonne année:))J'ai un petit souci lors de la création d'un tableau croisé dynamique à l'aide d'une macro.Comme vous pouvez le voir Permutation des données d’un tableau. [ par keko38 ] Bonjour à tous, appel d'une fonction qui retourne un tableau dans vb 2003 à partir de sql server 2000 [ par labal ] salam :bonjourje veut applez une fonction qui retourne un tableau dans vb 2003 apartire de sql server 2000il a qlq qui peut m'aide ? Créer un tableau au nombre de colonne variable [ par Debenja84 ] Bonjour, Bonsoir,Je souhaiterais créer un tableau avec une seul ligne, mais un nombre de colonne qui pourrait varier selon les besoins.Pour créer un t Tableau [ par Chrisdelyon ] Bonjour à tous, Juste une question toute bête. Est-i lpossible de variabiliser le nom d'un tableau ? Si oui comment ? Je m'arrache les cheveux depuis


Nos sponsors


Sondage...

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,749 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales