Copier ligne d'une feuille à une autre

Fermé
Plum - 19 janv. 2017 à 14:31
 Plum - 19 janv. 2017 à 15:15
Bonjour bonjour,

Après moult aventures dans le royaume de la programmation vba en tant que jeune écuyère, je bloque à nouveau sur un problème qui peut sembler parfaitement anodin : copier une stupide ligne de la feuille A sur une stupide ligne de la feuille B.

Pour vous expliquer un peu le bazar :
- L'objectif de base est de compléter la ligne de la feuille B avec les intitulés de la feuille A
- Sur les 2 feuilles, la longueur de la ligne des intitulés est variable
- C'est pour cela que je calcule quelle est la dernière cellule de chaque ligne, ce qui me permet de connaitre la longueur de la ligne de A et de B

Maintenant, voilà le code :

Sub CopierLigneTitre()

Dim derniereCelA As Integer
Dim derniereCelB As Integer

Set C = ThisWorkbook

derniereCelA = Worksheets(3).Cells(1, Cells.Columns.Count).End(xlToLeft).Column 'derniere cellule de A
MsgBox derniereCelA
derniereCelB = Worksheets(4).Cells(1, Cells.Columns.Count).End(xlToLeft).Column 'derniere cellule de B
MsgBox derniereCelB
derniereCelB = derniereCelB + 1 'ajout de 1 pour que la copie se fasse sur la cellule après la dernière de B
MsgBox derniereCelB

'-- Copie de la ligne d'intitulé de A
Worksheets(3).Activate
Range(Cells(1, 2), Cells(1, derniereCelA)).Copy

'-- Coller dans B après les cellules d'intitulées dèjà remplie
Worksheets(4).Activate
Range(Cells(1, derniereCelB), Cells(1, derniereCelB - 1 + derniereCelA - 1)).Paste '--- NOPE :( -- erreur 438

End Sub


Alors tout marche bien jusqu'à la copie de A. Par contre ça ne veut pas du tout me coller la ligne dans B. Je me retrouve avec une jolie erreur 438 (et des fois 1004 si j'enlève "Worksheets(4).Activate"). Je ne sais vraiment plus quoi faire.

J'espère avoir été claire dans mes explications, je fais maintenant appel à vous âmes charitables :)

Merci beaucoup d'avance :D
A voir également:

1 réponse

Autant pour moi, je viens de trouver la solution toute seule, suffisait de mettre "PasteSpecial" au lieu de "Paste" à la fin xD
0