Ecriture d'une variable Array

Bonjour,

Afin d'accélérer une macro, j'utilise une variable Array nommée nArt pour mémoriser un grand nombre de valeurs calculées et, à la fin du processus de calcul, j'enregistre le contenu de cette variable dans une zone de cellules de ma feuille Excel.

Ma variable Array nArt n'a qu'une dimension n variable calculée par la macro. Je redimensionne nArt avec redim Art(n) avant de relancer le calcul.

J'essaie d'écrire le contenu de nArt à savoir nArt(0), nart(1), .. nArt(n) dans une colonne du tableur mais je ne trouve pas la syntaxe correcte.

Par contre en dimensionnant ma variable nArt avec nArt(n,0) cela fonctionne en utilisant la syntaxe suivante:

Cells(k, s + 3).Resize(UBound(nArt) + 1 - LBound(nArt), UBound(nArt, 2) + 1 - LBound(nArt)) = nArt

où cells(k,s+3) est la cellule de départ pour l'écriture des valeurs de nArt dans le tableur

J'ai joint un fichier Test pour illustrer le problème.

Merci par avance pour votre aide.

Cdt

JMV

Salut,

Tu as les explications sur la page de Jacques Boigontier rubrique : Les variables tableaux (Array)/Transfert d’un tableau (Array) dans un champ

Bonsoir,

merci pour l'info.

Cdt

JMV

Bonsoir Jean-Paul,

avec le lien fourni, j'ai pu retrouver la syntaxe de commande à utiliser dans le cas d'un Array d'une seule dimension:

Cells(k, s + 3).Resize(UBound(nArt)) = Application.Transpose(nArt)

J'ai redimensionné l'Array et modifier la ligne de code permettant d'écrire son contenu dans une colonne d'Excel.

Tout fonctionne correctement.

Encore merci pour ton aide.

Cdt

JMV

Salut,

Le site de Boigontier est à mettre en vavoris. 😉

Rechercher des sujets similaires à "ecriture variable array"