Copier coller l'un en dessous de l'autre

Bonjour,

Je souhaite coller les valeurs d'une plage de cellules de la feuille active vers la feuille "synthèse 2".

Le 1er collage aura comme destination A1 : -

Le deuxième collage aura comme destination la 1ère cellule non vide (non vide données) en colonne "A" et ainsi de suite.

Attention, car ma sélection de copie prend m^me les cellules vides mais avec formule !

MERCI

Bonjour,

à tester,

Sub test()
Set sh1 = Sheets("test")
Set sh2 = Sheets("Synthèse 2")
Set plg = sh1.Range("V7:W32")
Lastrw = sh2.Cells(Rows.Count, 1).End(xlUp).Row
For i = 1 To 3
  sh2.Range(Cells(Lastrw, 1), Cells(Lastrw + plg.Rows.Count - 1, 2)).Value = plg.Value
  Lastrw = sh2.Cells(Rows.Count, 1).End(xlUp).Row + 1
Next
End Sub

Bonsoir,

Non ce n'est pas vraiment ce que je recherche [colle 3 fois ma sélection sur la feuille destination !]

MERCI à toi pour ta aide.

si c'est pour une fois,

Sub test()
Set sh1 = Sheets("test")
Set sh2 = Sheets("Synthèse 2")
Set plg = sh1.Range("V7:W32")
Lastrw = sh2.Cells(Rows.Count, 1).End(xlUp).Row
sh2.Range(Cells(Lastrw, 1), Cells(Lastrw + plg.Rows.Count - 1, 2)).Value = plg.Value
End Sub

Re,

Cela ne marche pas, la macro plante .

ce n'est pas très détaillé.

Re-Bjr,

Oui c'est de ma faute, explications trop succinctes.

je viens de faire une maquette de mon besoin et je vais essayer d'expliquer.

1) la sélection de la plage :

J'ai dans une feuille nommer "test" une plage de cellule qui débute en V7.

cette plage est uniquement sur 2 colonnes V et W.

en revanche elle peut avoir un nombre variable de lignes.

je souhaite, si c'est possible que la dernière ligne : "total général" et la somme en vis à vis en durée, ne soit pas copié.

Attention, seule la plage de cellule ayant des données doivent être copié et pas celle qui semblent vides mais qui ont des formules. j'ai simulé dans le fichier.

2) la destination :

Toujours sur la feuille Synthèse 1

le 1er collage de la plage en A1.

le 2ème collage qui provient en réalité de la feuille dupliqué, qui se nomme "DURAND" dans l'exemple, sous le 1er collage en colonne A mais comme la longueur est variable juste dessous sans plus de précision quant à la cellule exacte.

Puis ainsi de suite chaque feuille dupliquer vient alimenter en colonne A et B ses durées.

Petite particularité la Feuille "test" est le modèle, sera masqué ensuite, et les feuilles dupliquée prendront le nom de la saisie en cellule "F5". mais cela fonctionne déjà.

MERCI

182maquette-test-v2.xlsm (32.64 Ko)

Bonjour,

un autre essai,

j'ai présumé que la macro est toujours exécuter à partir d'une des feuilles contenant les données à copier

Sub test2()
Set sh1 = ActiveSheet
Lastrw1 = Application.Match("Total général", sh1.Range("V:V"), 0) - 1
Set plg = sh1.Range("V12:W" & Lastrw1)
Set sh2 = Sheets("Synthèse 1")

  If sh2.Cells(Rows.Count, 1).End(xlUp).Row + 1 = 2 Then
   Lastrw2 = 1
  Else
   Lastrw2 = sh2.Cells(Rows.Count, 1).End(xlUp).Row + 1
  End If

adr1 = Range(Cells(Lastrw2, 1).Address, Cells(Lastrw2 + plg.Rows.Count - 1, 2)).Address
sh2.Range(adr1).Value = plg.Value
End Sub

Bonsoir,

MERCI

Parfait, c'est bien ce que je recherchais !

SUPER, comme quoi d'être le plus précis possible......... !

@++++

Bonjour,

Encore MERCI car cela m'a rendu un fier service !

@+++

si c'est pour une fois,

Sub test()
Set sh1 = Sheets("test")
Set sh2 = Sheets("Synthèse 2")
Set plg = sh1.Range("V7:W32")
Lastrw = sh2.Cells(Rows.Count, 1).End(xlUp).Row
sh2.Range(Cells(Lastrw, 1), Cells(Lastrw + plg.Rows.Count - 1, 2)).Value = plg.Value
End Sub

Bonjour, j'ai le même type de problème mais ce code ne semble pas fonctionner pour Excel 2010

j'ai mis ça :

Sub test()

Set sh1 = Sheets("Mdl.Ctrl")

Set sh2 = Sheets("CTRL")

Set plg = sh1.Range("A1:K60")

Lastrw = sh2.Cells(Rows.Count, 1).End(xlUp).Row

For i = 1 To 10

sh2.Range(Cells(Lastrw, 1), Cells(Lastrw + plg.Rows.Count - 1, 2)).Value = plg.Value

Lastrw = sh2.Cells(Rows.Count, 1).End(xlUp).Row + 1

Next

End Sub

en même temps, comme je ne comprend pas ce code ...

merci de votre aide

Bonjour,

pouvez-vous joindre votre fichier ?

bonjour, difficilement, le pc n'est pas accessible depuis l’extérieur et son port usb est verrouillé

je ne peut que reproduire des morceaux du fichier ou du code en les recopiant à la main

désolé

faite un essaie avec le dernier code donné,

Sub test2()
Set sh1 = ActiveSheet
Lastrw1 = Application.Match("Total général", sh1.Range("V:V"), 0) - 1
Set plg = sh1.Range("V12:W" & Lastrw1)
Set sh2 = Sheets("Synthèse 1")

  If sh2.Cells(Rows.Count, 1).End(xlUp).Row + 1 = 2 Then
   Lastrw2 = 1
  Else
   Lastrw2 = sh2.Cells(Rows.Count, 1).End(xlUp).Row + 1
  End If

adr1 = Range(Cells(Lastrw2, 1).Address, Cells(Lastrw2 + plg.Rows.Count - 1, 2)).Address
sh2.Range(adr1).Value = plg.Value
End Sub

Wawou !

merci mais ... je fait quoi avec tout ça LoL!

je suppose que je doit adapter ce qui est en rouge

c'est bien ça ?

j'imprime et je test demain

sans vouloir exagérer, avec des commentaires pour les .... moins expérimentés d’entre nous ...

ça pourrait aider.

Merci !!!

merci mais ... je fait quoi avec tout ça LoL!

je ne peut pas deviner quel sont les noms des objets de votre fichier ni la disposition,

alors je suis aussi dans le broullion

Rechercher des sujets similaires à "copier coller dessous"