Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1758 connectés 

  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  Comment faire pour qu'une fonction renvoie un tableau?

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Comment faire pour qu'une fonction renvoie un tableau?

n°935175
lucky613
Posté le 02-01-2005 à 14:31:17  profilanswer
 

Salut à tous, j'ai juste une petite question:
Comment faire pour qu'une fonction renvoie un tableau?
En fait je dois passer un tableau en argument et j'aimerai qu'il me renvoie également un tableau
 
Actuellement, j'ai ceci
 
Dim A(1 To 3, 1 To 3) As Double
... je definis A...
 
Dim A3(1 To 3, 1 To 3) As Double
A3 = Produit_matriciel3(A)
 
Public Function Produit_matriciel3(A() As Double) As Double
...
End Function
 
et donc ca marche pour passer le tableau en parametre mais je sais pas où ni comment lui dire que la fonction renvoie un tableau
 
Merci de m'aider

mood
Publicité
Posté le 02-01-2005 à 14:31:17  profilanswer
 

n°937262
rage44
Posté le 04-01-2005 à 21:24:28  profilanswer
 

tu pourais mettre un byref devant un argument pour qu'il passe par référence et non pas par valeur et t'en resservir une fois sortit de la fonction, mais là ce n'est pas vraiment la fonction qui renvoie le résultat, c'est plutôt toi qui fournit un paramètre à remplir par la fonction (et tu mets un booléen sur la fonction).
Dim Produit_matriciel3(A() as double, byref A3() as double) as boolean
 
if not(Produit-matriciel3(A,A3)) then
 'raise une erreur....
else
 'A3 contient le produit matriciel
end if

n°937283
FlorentG
Posté le 04-01-2005 à 21:47:24  profilanswer
 

Ben tu déclare ta fonction comme ça :

Code :
  1. Public Function Produit_matriciel3(A() As Double) As Double()


Note les () après le As Double(), ça indique que tu renvoi un tableau.
Et puis donc dans ta fonction tu déclare ton tableau normal, donc genre :

Code :
  1. Public Function Produit_matriciel3(A() As Double) As Double()
  2.   Dim Bidule(1 To 3, 1 To 3) As Double
  3.   ...
  4.   Return Bidule
  5. End Function


Message édité par FlorentG le 04-01-2005 à 21:47:44
n°955160
Vincent VE​GA
connu aussi comme La_Fouine
Posté le 17-01-2005 à 23:40:47  profilanswer
 

ou alors tu passe par le type variant (comme type de retour) qui est beaucoup plus souple car il permet d'imbriquer n'importe quel autre type

n°2189426
alino-91
Posté le 09-05-2013 à 03:29:37  profilanswer
 

Code :
  1. ' Une autre solution avec Split
  2. Public Sub Randomise()
  3.     Dim str As String, i As Integer
  4.     str = Test()
  5.     MsgBox (str)
  6.     Dim Tableau() As String
  7.     Tableau = Split(str, "#" )
  8.     For i = 0 To 2 - 1
  9.        MsgBox (Tableau(i))
  10.    Next i
  11. End Sub
  12. Public Function Test() As String
  13.     Dim s As String
  14.     s = "One"
  15.     s = s & "#Two"
  16.     Test = s
  17. End Function

n°2189427
alino-91
Posté le 09-05-2013 à 03:33:32  profilanswer
 

Code :
  1. ' Une autre solution avec Split
  2. Public Sub Randomise()
  3.     Dim str As String, i As Integer
  4.     str = Test()
  5.     MsgBox (str)
  6.     Dim Tableau() As String
  7.     Tableau = Split(str, "#" )
  8.     For i = 0 To 2 - 1
  9.        MsgBox (Tableau(i))
  10.    Next i
  11. End Sub
  12. Public Function Test() As String
  13.     Dim s As String
  14.     s = "One"
  15.     s = s & "#Two"
  16.     Test = s
  17. End Function


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  Comment faire pour qu'une fonction renvoie un tableau?

 

Sujets relatifs
créer une barre de défilement dans un tableauscrutation d'un tableau
Pdf Remettre l'entete d'un tableau au saut de page.executer un scrpt en fonction de l'ip de l'user
tableauFonction asm utilisable en C++, linker error...
Probleme de declaration d'un tableau[Maple] cherche une fonction qui retourne la taille d'une table
Socket : la fonction connect.[C] une fonction qui renvoie un tableau de 3 doubles ??
Plus de sujets relatifs à : Comment faire pour qu'une fonction renvoie un tableau?


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR