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

Copie d'un tableau en memoire VBA vers une feuille excel

  • Initiateur de la discussion bicoun
  • Date de début
B

bicoun

Guest
Bonjour tout le monde,

Ce 1er message sur ce forum correspond a mes début en VB sous Excel (et meme sous VB tout cours)

J'ai stocké ca dans un tableau a 2 dimensions de double generé dans une dans une macro.
Je veux copier ca dans une feuille excel

J'y arrive péniblement en faisant une double boucle, et un
Evaluate ("[XXnn]).Value = Tableau (i,j)
C'est moche, et ca m'oblige a manipuler une chaine de caractere pour le parametre de evaluate. Pas élégant.

Je suis sur qu'il y a une fonction qui permet de balancer un tableau de valeur dans un range de meme taille, mais je trouve pas laquelle.
Merci pour votre aide.
 
J

Jean-Marie

Guest
Bonjour, Bicoun

Avec la formule : Application.Range("A8:Q38").Formula = X
j'écris le tableau défini Dim X(30, 16) As Integer, dans la plage A8:Q38

Bonne soirée.

@+Jean-Marie
 
B

bicoun

Guest
OK ca marche, mais dans l'autre sens, ca marche pas: je m'explique

j'ai une colonne de chaine de caractères dans une feuille excel.
Je déclare un tableau de chaines de car.
Dim tcChaine (10) as string

et la, tcChaine = Range ("B1:B10").formula
ca compile pas ("can't assign array")
ok, je veux bien l'admettre

je refais pareil avec des variant
vChaine = Range ("B1:B10").formula
ca compile, ca s'execute, je fais un watch sur vChaine, et en fait, j'ai un tableau a 2 dimensions ??? vVariant (2,10), averc dans la colonne 1 le contenu des cellules A1 à A10
Comment ca se fait?
Comment je fais pour stocker ma colonne de 10 chaine en 1 seule fois dans un tableau de chaine de caracteres

Merci
 
B

bicoun

Guest
non, autant pour moi, j'ai fait un erreur, ca fonctionne avec les variants
mais j'avais fait un range avec une union "B1:B10", "A11:A20"
et ca genere un variant de dimension (2,20)
soit...
 

Discussions similaires

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…