Bonjour,
je suis neophite en programmation en VBA. je tiens tout d'abord a remercier tous ceux qui animent ce site et contribuent à l'alimenter de reponses aux questions posées par les uns et les autres.
mon probleme est le suivant:
jai un tableau en vba x() dont je peux transferer les elements vers une plage de feuille de calcul.
Mais seul le 1er element du tableau x(1) est reellement transferé vers les cellules de ma plage.
je precise que je ne veux pas utiliser de loop pour ce transfert .
SVP aidez moi.
Sub TableauVbaVersFeuilleDeCalcul()
'je veux transferer les elements de mon tableau VBA vers une plage _
de feuille de calcul.
Dim x(1 To 5) As Double 'mon tableau VBA.
Dim i As Integer
For i = 1 To 5
x(i) = Rnd
Debug.Print x(i) 'juste pour visualiser.
Next i
Worksheets("feuil5").Activate
Dim Plage As range
Set Plage = range("B1:B5")
Plage.Value = x ' Mais seul le 1er element du tableau ie x(1)est recopié dans les cellules de ma plage.
ah okkk,
thanks a lot Michel.
en fait un tableau unidimensionnel en VBA est " TOUJOURS" consideré comme une plage "à une ligne" sur une feuille de calcul d'où l'utilisation de Application.worksheetfunction.transpose(x).
Pour preuve , cette instruction marche bien.
Worksheets("feuil5").Activate
Dim i As Integer
For i = 1 To 5
x(i) = Rnd
Debug.Print x(i) 'juste pour visualiser.
Next i
Range("A1:E1").value = x
i understood where my mistake was coming from.
ps. ta 2nde solution est plus elegante ;-)
bonjour
sur un tableau à 2 dimensions c'est valable aussi
par ex tablo(1 to5, 1 to 3)
range("B1").resize(5,3)===> transpose etc
range("B1").resize(3,5) ===> tablo
thanks a lot Michel.
en fait un tableau unidimensionnel en VBA est " TOUJOURS" consideré comme une plage "à une ligne" sur une feuille de calcul d'où l'utilisation de Application.worksheetfunction.transpose(x).
Pour preuve , cette instruction marche bien.
Worksheets("feuil5").Activate
Dim i As Integer
For i = 1 To 5
x(i) = Rnd
Debug.Print x(i) 'juste pour visualiser.
Next i
Range("A1:E1").value = x
i understood where my mistake was coming from.
ps. ta 2nde solution est plus elegante ;-)