Copier cellules et les collers sur en ligne

Bonjour,

Je débute en VBA Excel et j'ai un petit souci avec ma macro , je m'explique:

sur une feuille nommée "simulation" je voudrais copier certaines cellules que je voudrais coller sur une autre feuille "synthése" en ligne.

J'ai déja réalisé un macro qui copie les cellules mais qui les colle en colonne.

je n'arrive pas à voir quelle modification il faut faire pour que ça les colle en ligne.

Voici mon code:

Sub Macro2()

Sheets("simulation").Activate

Range("T7,T9,T11,T13,T15,T18,T20,T22,T24,T26,T28").Select

Range("T28").Activate

Range("T7,T9,T11,T13,T15,T18,T20,T22,T24,T26,T28,T31,T33,T35,T37,T40,T42,T45"). _

Select

Range("T45").Activate

Application.CutCopyMode = False

Selection.Copy

Sheets("synthése").Select

With Sheets("Synthése")

i = .Cells(65535, 1).End(xlUp).Row

Sheets("simulation").Range("T7,T9,T11,T13,T15,T18,T20,T22,T24,T26,T28,T31,T33,T35,T37,T40,T42,T45").Copy .Cells(i + 1, 1)

End With

End Sub

cordialement.

Bonjour ,

Tout d'abord lorsque tu met du code ou des formules , pense à les mettre entre balise

pour plus de lisibilité .

Ensuite pense à joindre ton fichier (ou un fichier-exemple) , sa aidera pour la réalisation

Ceci dit revenons à ton problème , les lignes que tu souhaite copier sont-elles toujours les mêmes ?

Tu veut les coller à une place spécifique , à la suite des autres lignes , .... ?

cordialement

re,

Tout d'abord merci pour l'attention que vous portez à mon probléme.

En ce qui concerne la macro je souhaite copier des cellules d'une feuil1 par exemple et les coller en ligne dans feuill2 et à chaque fois que je lance la macro ça doit se coller en dessus de la ligne déja existante.

J' ai retravaillé ma macro et pour le moment ca colle bien en ligne mais toujours sur la meme, ça ne colle pas sur la ligne suivante qui est vide.

Voici le code:

Sheets("simulation").Select

Sheets("simulation").Range("T7,T9,T11,T13,T15,T18,T20,T22,T24,T26,T28,T31,T33,T35,T37,T40,T42,T45").Copy

Sheets("synthése").Select

With Sheets("Synthése")

i = .Cells(65535, 1).End(xlUp).Row

For i = 1 To 65535

Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _

:=False, Transpose:=True

i = i + 1

End With

End Sub

Cordialement

re ,

i = .Cells(65535, 1).End(xlUp).Row

ceci te donne la dernière ligne non vide , ajoute simplement +1 à la fin pour avoir la première vide

re,

ça ne marche toujours pas.

J'ai crée un petit classeur en exemple:

en feuil1 il y a les cellules à copier et en feuil2 là où il faut qu'elle soit coller.

J'ai crée la macro mais lorsque elle les colle en colonne.

Cordialement.

8classeur.zip (7.28 Ko)

Re ,

essaye avec ce code :

Sub Macro1()

Dim i As Integer
Dim feuille1, feuille2 As String
i = 1

feuille1 = "feuil1"
feuille2 = "feuil2"

While IsEmpty(Range(feuille2 & "!A" & i)) = False
i = i + 1
Wend

MsgBox i
Range(feuille2 & "!A" & i) = Range(feuille1 & "!T7")
Range(feuille2 & "!B" & i) = Range(feuille1 & "!T9")
Range(feuille2 & "!C" & i) = Range(feuille1 & "!T11")
Range(feuille2 & "!D" & i) = Range(feuille1 & "!T13")
Range(feuille2 & "!E" & i) = Range(feuille1 & "!T15")
Range(feuille2 & "!F" & i) = Range(feuille1 & "!T18")
Range(feuille2 & "!G" & i) = Range(feuille1 & "!T20")
Range(feuille2 & "!H" & i) = Range(feuille1 & "!T22")
Range(feuille2 & "!I" & i) = Range(feuille1 & "!T24")
Range(feuille2 & "!J" & i) = Range(feuille1 & "!T26")
Range(feuille2 & "!K" & i) = Range(feuille1 & "!T28")
Range(feuille2 & "!L" & i) = Range(feuille1 & "!T31")
Range(feuille2 & "!M" & i) = Range(feuille1 & "!T33")
Range(feuille2 & "!N" & i) = Range(feuille1 & "!T35")
Range(feuille2 & "!O" & i) = Range(feuille1 & "!T37")
Range(feuille2 & "!P" & i) = Range(feuille1 & "!T40")
Range(feuille2 & "!Q" & i) = Range(feuille1 & "!T42")
Range(feuille2 & "!R" & i) = Range(feuille1 & "!T45")

End Sub

c'est un peu "bourrin" mais si c'est toujours les mêmes lignes sa passera

Rechercher des sujets similaires à "copier collers ligne"