Variable tableau Array à deux dimensions, copier une dimension entière ?

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 !

Charly88

XLDnaute Occasionnel
Bonjour,

La dernière ligne du code suivant permet très simplement de copier vers une feuille un tableau entier :

Code:
Dim Tblo(100,40)

For i = 1 To 100
        For j = 1 To 40       
            Tblo(i, j) = 12*i + 4*j
        Next j
Next i
Range("G2").Resize(UBound(Tblo, 1), UBound(Tblo, 2)).Value = Tblo


Y'a-t-il un moyen simple, et sans boucle, de copier toutes les valeurs de la première dimension pour la valeur x de la deuxième dimension ?
Je peux le faire sans boucle mais puisqu'il est possible d'envoyer le tout avec un simple '=Tblo', je me demande s'il n'est pas tout simplement possible de choisir une dimension entière de ce même tableau. D'autant plus si mon array a précisément 2 dimensions (il contient un range d'une feuille).


Merci aux autres copains pour leur didactiel bien sympa : Ce lien n'existe plus
 
Re : Variable tableau Array à deux dimensions, copier une dimension entière ?

Bonsoir Charly88 le forum
bon alors si j'ai compris
a+
papou🙂

VB:
Dim Tblo(100,40)

For i = 1 To 100
        For j = 1 To 40       
            Tblo(i, j) = 12*i + 4*j
        Next j
Next i
Range("G2").Resize(UBound(Tblo, 1), 1)).Value = Tblo
 
Re : Variable tableau Array à deux dimensions, copier une dimension entière ?

Le diable se niche dans les détails, je voudrais pouvoir choisir quelle colonne je veux copier... En jouant sur la zone de réception, je ne peux choisir que sur le nombre de colonnes à copier, en partant systématiquement de la première :-/
 
Re : Variable tableau Array à deux dimensions, copier une dimension entière ?

Merci Mr Boisgontier !

L'application de cette solution à mon cas :

Code:
Public Sub testTab()
Dim Tblo(10, 4)

For i = 1 To 10
        For y = 1 To 4
            Tblo(i, y) = 12 * i + 4 * y
        Next y
Next i
'Le tableau entier :
Range("A1").Resize(UBound(Tblo, 1), UBound(Tblo, 2)).Value = Tblo

'ligne à extraire en ligne :
y = 3
Range("A12").Resize(1, UBound(Tblo, 2)).Value = Application.Index(Tblo, y)

'colonne à extraire en ligne :
y = 2
Range("A14").Resize(1, UBound(Tblo, 1)).Value = Application.Index(Application.Transpose(Tblo), y)

'colonne à extraire en colonne :
y = 2
Range("A16").Resize(UBound(Tblo, 1), 1).Value = Application.Index(Tblo, , y)

End Sub
 
- 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

Discussions similaires

Réponses
0
Affichages
515
Réponses
2
Affichages
1 K
Retour