Afficher un tableau VBA sur une feuille Excel avec une seule ligne

Bonjour à tous,

J'ai un petit soucis pour afficher un tableau ne contenant qu'une ligne sur une feuille excel. J'ai le code suivant:

For a = 1 To nb_line

If tab_gen(a, 69) = 1 Then
ReDim Preserve tab_BQ(1 To 68, 1 To incre_BQ)

For a_BQ = 1 To 68
tab_BQ(a_BQ, incre_BQ) = tab_gen(a, a_BQ)
Next
incre_BQ = incre_BQ + 1
End If

Next

tab2 = Application.Transpose(tab_BQ)
Sheet3.Range("A3").Resize(UBound(tab2, 1), UBound(tab2, 2)).Value = tab2

Dès que la condition se vérifie, la macro stocke une ligne complète dans mon tableau. Mon problème est le suivant : quand la condition se vérifie une fois, il n'y a donc qu'une seule ligne dans mon tableau. Lorsque je veux l'afficher sur la "sheet3" il me met : Subscript out of range. Mais quand il y a plusieurs lignes cela fonctionne parfaitement.

Ma question est la suivante : quel est le code pour afficher un tableau ne contenant qu'une seule ligne?

Merci d'avance

Bonjour,

Une macro et ses variables sont étroitement dépendant de ses variables et des déclarations.

En l'absence de précisions, on ne peux se livrer qu'à des supputations...

Donc tu peux toujours essayer ça :

...
On Error Resume Next
Sheet3.Range("A3").Resize(UBound(tab2, 1), UBound(tab2, 2)).Value = tab2
Sheet3.Range("A3").Resize(UBound(tab2)) = tab2

A+

Salut, Merci pour ton aide. Grâce à toi j'ai eu un déclick. Pour ce que ça intéresse dans le futur, quand on transpose un tableau à une seule dimension il faut le resize avec les dimensions du tableau non transposé. La solution était : Sheet3.Range("A3").Resize(UBound(tab_BQ, 2), UBound(tab_BQ, 1)) = tab2. Désolé si je m'exprime mal mais j'ai toujours du mal à exposer mes problèmes algorithmiques en phrases françaises.

Rechercher des sujets similaires à "afficher tableau vba feuille seule ligne"