Copier ligne d'une feuille à une autre
Plum
-
Plum -
Plum -
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 :
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
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:
- Copier ligne d'une feuille à une autre
- Comment copier une vidéo youtube - Guide
- Partager photos en ligne - Guide
- Aller à la ligne excel - Guide
- Bruler une feuille de laurier - Guide
- Comment supprimer une feuille sur word - Guide