XL 2010 Transfert Array -->feuille avec Resize[RESOLU grâce à Laetitia et Mapomme]

cathodique

XLDnaute Barbatruc
Bonjour,
Je m'initie aux variables Tableau et je bute sur un problème.
Sur un tutoriel, il est mis: Sous VBA, les tableaux à une dimension sont en ligne par défaut, donc pour Excel, le code que nous venons d'écrire équivaut à : Range("I1:I5") = "Toto" (soit le premier index).

En effet, comme il est conseillé en appliquant la fonction transpose, on transfert le tableau en colonne sur la feuille.

Étant donné que le tableau est par défaut en ligne, je ne trouve pas comment le transférer sur la feuille en ligne. NB: je voudrais aussi utiliser la fonction Resize.
VB:
Sub lesArrayCestSimple1() 'première approche
Dim Tb() As Variant
Dim i As Byte
Cells.Clear

Tb = Array("Toto", "Zaza", "Mimi", "Nono", "Babu")
For i = 1 To UBound(Tb, 1) 'UBound retourne la limite supérieure
'de la dimension voulue d'un tableau
   Cells(i, 1) = Tb(i) 'on remplit en colonne
   Cells(5, i + 2) = Tb(i) 'on remplit en ligne
Next i

'Transfert Tb sur la feuille
'------------------------------
'transfert en colonne fonctionne
Range("e10").Resize(UBound(Tb)) = Application.Transpose(Tb)
'transfert en ligne ne fonctionne pas, renvoie le 1er index
Range("f10").Resize(UBound(Tb)) = Tb
Stop
End Sub
Merci pour votre aide.
 

laetitia90

XLDnaute Barbatruc
bonjour Cathodique:)

on peut comme cela !!
VB:
Dim t
t = Array("Toto", "Zaza", "Mimi", "Nono", "Babu")
[f10].Resize(1, 5) = t

ou encore
VB:
[f10].Resize(1, 5) = Array("Toto", "Zaza", "Mimi", "Nono", "Babu")

tu peus enlever le 1 aussi pas utile dans ce cas la

[f10].Resize(, 5)
 
Dernière édition:

laetitia90

XLDnaute Barbatruc
re:):) , Mapomme;)

bien ton explication l'ami mapomme:):)

attention il faut suivre les recommandations de notre ami
option base est important
[A16].Resize(, UBound(Tb)) = Tb avec option base 1 ....autrement manquera le dernier index

sans option base declaré
[A16].Resize(, UBound(TB) + 1) = TB
 

Discussions similaires

Réponses
7
Affichages
327

Statistiques des forums

Discussions
312 109
Messages
2 085 384
Membres
102 878
dernier inscrit
asmaa