Copier-coller d'un tableau sans boucle

J'avais cherché et trouvé une façon de copier-coller un tableau sans boucle.

Ça fonctionne super bien.

ActiveWorkbook.ActiveSheet.Range("A2:B" & nbFichier + 1).Value = CompteurSN 'tableau à 2 dimensions

J'ai voulu me servir à nouveau de la même syntaxe et ça ne fonctionne pas.

ActiveSheet.Range("G2:G" & CompteurBoucle + 1).Value = TabSNcompteur
'CompteurBoucle  correspond ni plus, ni moins au Ubound du tableau à une seule dimension

Je n'ai pas de message d'erreur mais simplement du vide dans les cellules où sont censées être collées les valeurs de mon tableau.

Pourtant, si je précise le numéro de "case" (c'est quoi le terme pour dire l'endroit où se trouve une valeur dans un tableau: une case ?) du tableau et que j’exécute l'instruction, ça fonctionne.

J'ai bien sûr remplacé ma variable CompteurBoucle par des vrais chiffres, j'ai tenu compte des option base 0 et 1...

Rien n'y fait.

Si je précise l'adresse d'une entrée du tableau (par exemple 65), toutes les cellules comprises entre G2 et G & Ubound(TabSNcompteur), auront toutes la même valeur, à savoir la valeur TabSNcompteur (65).

ActiveWorkbook.ActiveSheet.Range("G2:G" & CompteurBoucle + 1).Value = TabSNcompteur (65)

La fonction de collage fonctionne donc...

Pour pallier à ça, j'ai dû remplacer cette instruction par une boucle: ça fonctionne évidemment.

Si vous aviez une idée sur le pourquoi du comment....

Merci d'avance.

Salut Pipou,

si je comprends bien, ton tableau TabSNcompteur ne compte qu'une dimension!?

Quand tu veux coller ce genre de tableau à une dimension, tu dois le TRANSPOSER sur ta feuille. En effet, chaque cellule de ta feuille est référencée par deux dimensions (ligne et colonne).

Ce qui donne :

ActiveSheet.Range("G2:G" & CompteurBoucle + 1).Value = WorksheetFunction.Transpose(TabSNcompteur)

Tout cela si j'ai bien compris ta demande!

A+

Bonjour Curulis.

En effet, tu as bien vu que le tableau que je souhaite coller ne comporte qu'un dimension.

D'après ce que je comprends, si je devais schématise un tableau à une dimension contenant n valeurs, je devrais le voir comme une seule ligne HORIZONTALE de n valeurs et non pas une seule colonne VERTICALE de n valeurs, d'où la nécessité de le transposer ?

Ce qui expliquerait pourquoi, l'instruction fonctionnait très bien avec un tableau à 2 dimensions ?

Mais dans ce cas, pourquoi le tableau à 2 dimensions ne serait pas "schématiquement parlant" DEUX lignes HORIZONTALES de n valeurs qu'il faudrait également transposer pour l'afficher dans DEUX colonnes VERTICALES de n valeurs ?

En tout cas, l'instruction que tu m'as fournie fonctionne à la perfection !

Merci beaucoup car je pensais que c'était un problème de range...

Rechercher des sujets similaires à "copier coller tableau boucle"