Copier coller avec plage variable

  • Initiateur de la discussion Initiateur de la discussion gvives
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

gvives

XLDnaute Occasionnel
Bonjour à tous,

J'ai un petit soucis je commence à assimiler le VBA mais j'ai encore du mal à réaliser des copier coller lorsque que la plage est variable (par exemple copier un range variable en hauteur dans une autre feuille à partir de la dernière ligne non vide de la feuille de destination...).

J'ai un petit fichier exemple :

Il y a deux feuilles,

- La première feuille doit être coller dans une feuille 3 à partir de la ligne 2.
- La seconde feuille doit être coller dans la feuille 3 à partir de la dernière ligne issue du collage de la feuille 1.

Bon OK c'est peut être pas trop clair mais mon fichier sera plus explicite j'en suis sûr 🙂

Merci beaucoup d'avance à tous.

Bonne journée 😉
 

Pièces jointes

Re : Copier coller avec plage variable

bonjour gvives , phlaurent55 🙂🙂
une autre facon de l'ecrire avec WITH

Code:
Sub es()
 Dim ws As Worksheet
 For Each ws In Sheets(Array("Feuil1", "Feuil2"))
 With ws
 .[A8].CurrentRegion.Copy Sheets("Feuil3").Range("a" & Rows.Count).End(xlUp)(2)
 End With
 Next ws
End Sub
 
Re : Copier coller avec plage variable

Bonjour à tous,

Eh oh les copains, vous n'avez pas mis vos lunettes ???

En Feuil3 du fichier du post #1 il y a une colonne D à renseigner (la plage D5: D9).

Ou alors c'est juste un léger tremblement de gvives 😕

A+
 
Re : Copier coller avec plage variable

re tous 🙂
salut l'ami Job 🙂🙂
je crois bien que tu as raison c'est Laurent🙂🙂 le vilain (lol) j'ai regarde que son post

effectivement la colonne d est decale
marche dans ce cas bien precis mais si cellule vide gros souci😱😱
mais plus le temps 🙁 au boulot l'ami🙄🙄🙄🙄

Code:
Feuil1.[A8].CurrentRegion.Copy Feuil3.Range("a" & Rows.Count).End(xlUp)(2)
 Feuil2.Range("a8", Feuil2.Cells(Rows.Count, "b").End(xlUp)).Copy _
 Feuil3.Range("a" & Rows.Count).End(xlUp)(2)
 Feuil2.Range("c8", Feuil2.Cells(Rows.Count, "c").End(xlUp)).Copy _
 Feuil3.Range("c2").End(xlDown).Offset(0, 1)(2)
 
Re : Copier coller avec plage variable

Bonjour le fil,

La macro de Laetitia adaptée avec un décalage de colonne après la 2ème copie :

Code:
Sub Copier()
Dim w As Worksheet, r As Range
Sheets("Feuil3").Range("A2:D" & Rows.Count).Clear 'RAZ
For Each w In Sheets(Array("Feuil1", "Feuil2"))
  With w.[A8].CurrentRegion
     Set r = Sheets("Feuil3").Range("A" & Rows.Count).End(xlUp)(2)
     Set r = r.Resize(.Rows.Count, .Columns.Count)
     .Cells.Copy r
  End With
Next
r.Columns(3).Insert xlToRight 'décalage
End Sub
A+
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
34
Affichages
840
Réponses
3
Affichages
325
Réponses
19
Affichages
754
Retour