cs_rlapt
Messages postés63Date d'inscriptionlundi 6 octobre 2003StatutMembreDernière intervention25 juin 2013
-
2 déc. 2010 à 19:26
cs_rlapt
Messages postés63Date d'inscriptionlundi 6 octobre 2003StatutMembreDernière intervention25 juin 2013
-
4 déc. 2010 à 13:09
Bonjour,
Je démarre en Visual Basic Express et je rencontre une difficulté :
Je cherche à passer une variable tableau multidimensionnel par référence à une procédure et de redimensionner ce tableau dans la procédure.
En Vba c'est assez facile :
il suffit de déclarer le tableau dans une procédure --> dim tableau() as variant
de passer la variable à la procédure --> MaProcédure (byref tableau())
de redimensionner le tableau dans la procédure appelée --> ReDdim tableau(10,20)
au retour de la procédure appelée le tableau à bien les dimensions 10 et 20 et est rempli avecles valeurs traitées par la procédure appelée.
Merci de me donner une idée pour recréer cette fonction
RLAPT
A voir également:
Redimensionnement dans une procédure appelée, d'un tableau multidimenssion passé
cs_rlapt
Messages postés63Date d'inscriptionlundi 6 octobre 2003StatutMembreDernière intervention25 juin 2013 3 déc. 2010 à 09:48
Bonjour,
Merci de votre aide.
C'est un peu mieux avec vos remarques, mais je n'arrive toujours pas à passer la variable tableau dans la procédure appelée.
Voici mon problème :
Procédure appelante :
Sub MonEssai()
Dim Données(,) As string, TexteRequête As String
ReDim Données(1, 1)
RécupDonnéesRequête(Données(, ))
End Sub
Procédure appelée :
Sub RécupDonnéesRequête(ByRef NomVariableSortie(,) As string)
Deux erreurs apparaissent sur l'argument Données(, ) de la procédure appelante "expression d'indice manquante". L'une avant la virgule et l'autre après.
Pouvez-vous m'aider ?
y a t'il une différence si l'on redimensionne ou non le tableau "Données" dans la procédure appelante ?
NHenry
Messages postés15112Date d'inscriptionvendredi 14 mars 2003StatutModérateurDernière intervention13 avril 2024159 4 déc. 2010 à 00:57
Bonjour,
Voici le code de test que j'ai fais et qui fonctionne :
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Dim ltData(,) As String
ReDim ltData(2, 1)
Traite(ltData)
End Sub
Private Sub Traite(ByRef ptData As String(,))
ReDim ptData(5, 6)
End Sub