VBA copier une plage

[Résolu/Fermé]
Signaler
-
Messages postés
17266
Date d'inscription
mardi 12 juin 2007
Statut
Contributeur
Dernière intervention
25 octobre 2021
-
Bonjour,


voici mon problème sur execl 2007

Je dispose d'une plage sur une feuille "A" et j'aimerais créer quelques lignes de code vba pour que je puisse, tout en étant sur la feuille "B":

- sélectionner la plage
- la coller sur la feuille "B" de façon à se qu'elle apparaisse à la suite des données déjà présentes. (e.g. la dernière ligne de la feuille "B" est la 10, je souhaite que ma plage soit copiée à partir de la cellule A11.


Je n'arrive pas à retranscrire cela en VBA.

Merci d'avance pour votre aide!
Cordialement

1 réponse

Messages postés
17266
Date d'inscription
mardi 12 juin 2007
Statut
Contributeur
Dernière intervention
25 octobre 2021
10 653
Bonjour,

Voici un code qui copie la plage en cours de la feuille A vers la feuille B.

Sub copier_coller()
Application.ScreenUpdating = False
Dim f_A As Worksheet
Dim f_B As Worksheet
Dim plage1 As Range
Dim plage2 As Range

Set f_A = ActiveWorkbook.Sheets("feuil1")
Set f_B = ActiveWorkbook.Sheets("feuil2")
Set plage1 = f_A.Range("A11").CurrentRegion
Set plage2 = f_B.Range("A65000").End(xlUp).Offset(1, 0)
f_A.Activate
plage1.Copy Destination:=plage2
f_B.Activate
Application.ScreenUpdating = True
End Sub


Çar marche si la ligne au dessus de la cellule A11 est vide, car la copie prend toute la zone en cours.

S'il faut copier à partir de la cellule A11 parce qu'il y a quelque chose au dessus, faut modifier un peu le code.

m@rina
merci pour le code,

cependant la cellule A11 n'était qu'un exemple...j'aimerais simplement que la plage se colle à la suite des autres lignes. Cela veut dire que cela pourrait être n'importe quel ligne...

en espérant que celq soit possible...merci
Messages postés
17266
Date d'inscription
mardi 12 juin 2007
Statut
Contributeur
Dernière intervention
25 octobre 2021
10 653
C'est ce qui est prévu, yaka lire le code... Par contre, tu ne parles pas de ce qui est à copier... donc, j'ai pris la plage active autour d'une cellule précise.
m@rina