Coller une ligne avec une incrémentation

Bonjour à tous,

Je me retrouve face à un problème qui me paraissait pourtant simple à la base mais que je n'arrive pas à résoudre.

J'essaie de copier une série de valeurs (ici les cases N1 à Q1) à la suite d'une liste de valeur (ici A1 à D7).

Le but est que la ligne N1 à Q1 s'inscrive en position A8 à D8 (car prochaine ligne libre).

Ce n'est pas la première fois que je fais cela. Cependant, habituellement je copie N1 en A8, O1 en B8, P1 en C8 et Q1 en D8. (je fais donc 4 étapes).

Pour ce faire, j'inscris dans une case (ici en J1) : ="A"&NBVAL(A1:A13)+1

Cette cellule donne donc "A8". Cela me permet de définir le prochaine emplacement où inscrire ma ligne.

Le problème c'est que cette fois-ci ma macro devra répéter cela un grand nombre de fois. J'aurais donc voulu faire cette copie en une fois avec un Range mais cela ne fonctionne pas. Voici le petit code ci-dessous.

Sub tre()

Set to_stock = Range("N1", "Q1")

Set pos_stock = Range("J1")

Range(pos_stock) = to_stock

End Sub

Merci d'avance et bonne journée

Meilleures salutations

votre "pos_stock" n'est qu'une cellule, avec "resize" vous pouvez l'adapter avec autant de lignes ou colonnes que vous voulez, donc ici 4 colonnes.

Range(pos_stock).resize(,4).value = to_stock.value

pur la plage "pos_stock", vous pouvez aussi utiliser ceci pour la derniere cellule J "non-vide" +1

Set pos_stock = Range("J" & rows.count).End(xlup).offset(1)

Bonjour,

C'est super ! ça fonctionne !

Merci beaucoup et bonne journée

Rechercher des sujets similaires à "coller ligne incrementation"