Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Fonction qui renvoie plusieurs tableaux à 2 dimensions?

  • Initiateur de la discussion Initiateur de la discussion Delphh
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

D

Delphh

Guest
Bonsoir,


Je me permets de vous déranger en cette charmante soirée à cause d'un problème qui commence à se faire long ^^

Voilà, j'ai construis 2 tableaux (63,33) à partir de requêtes Excel.
Comme le Tab2 a besoin du Tab1 également pour être construit, je les ai mis dans le même Sub, qui comporte 2 paramètres. Ces deux tableaux sont dans un Sub car suivant la macro que je lance, ce ne sont pas les mêmes calculs pour les obtenir qui vont se faire.

Or quand je retourne dans mon programme principal, j'ai besoin de récupérer tantôt Tab1 tantôt Tab2.
Alors ma question est: y a-t-il un moyen de récupérer mes deux tableaux?

Je ne pense pas que mon fichier vous aiderez, tellement il y en a et tellement ça part dans tous les sens, mais si vous en avez besoin pas de souci 😉
 
Re : Fonction qui renvoie plusieurs tableaux à 2 dimensions?

Bonsoir Delphh, flyonets44,
Si les "Tableaux" sont des arrays, comme le suggère flyonets44, er si les macros sont dans des modules, on peux les déclarer en public peut être...
Cordialement
 

Pièces jointes

Re : Fonction qui renvoie plusieurs tableaux à 2 dimensions?

Je vais voir si je peux me servir de ça, merci.

Et si je mets mes tableaux sous forme de Array, il faudrait qu'il soit à 3 dimensions alors non? Parce que j'ai T(1,1) = 0,2 par exemple.
 
Dernière modification par un modérateur:
Re : Fonction qui renvoie plusieurs tableaux à 2 dimensions?

Re
Ce que tu cherche à faire est peut être un peu "complexe".
Voici un exemple de fonction qui renvoie Un Array de deux Arrays à deux dimensions.
Pour trouver la valeur de Tableau1(1,30) tu utilises TabGénéral(0)(1, 30).
A toi de voir..
Cordialement
Edit :
VB:
Sub principal()
Dim Tableau1(63, 33), Tableau2(63, 33)
TabGénéral = Tableaux(Tableau1(), Tableau2())
MsgBox TabGénéral(0)(1, 30)
End Sub

VB:
Private Function Tableaux(ByRef T1() As Variant, ByRef T2() As Variant)
Dim i&, j&
For i = 0 To 63
    For j = 0 To 33
        T1(i, j) = "Tab1" & "_" & i & "_" & j
        T2(i, j) = "Tab2" & "_" & i & "_" & j
    Next j
Next i
Tableaux = Array(T1, T2)
End Function

Cordialement
 

Pièces jointes

Dernière édition:
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

D
Réponses
4
Affichages
1 K
P
  • Question Question
Réponses
1
Affichages
3 K
Patrosso
P
A
Réponses
48
Affichages
6 K
Ananas94
A
R
Réponses
3
Affichages
4 K
R
B
Réponses
2
Affichages
2 K
bastienb
B
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…