VBA excel problème de recopie

voici mon code, il fonctionne parfaitement mais me recopie ma selection cote a cote alors que je la voudrai l'une en dessous de l'autre

Sub Enregistre_et_Nouveau()

Dim nom As Workbook
Dim chemin As String, extension As String, nomfichier As String

Dim i As Byte
i = Sheets("enrticket").Range("IV1").End(xlToLeft).Column + 1
Sheets("ticket").Range("A6:d22").Copy Destination:=Sheets("enrticket").Cells(1, i)

'Worksheets("ticket").Range("A6:D22").Copy _
'Destination:=Worksheets("enrticket").Range("A1")

Dim c As Integer

'ActiveSheet.PrintOut Copies:=1
With ThisWorkbook
With ActiveSheet
c = .Range("D21").Value
.Range("D21").Value = c + 1
If .Name = "ticket" Then
.Range("A7:D16").ClearContents
End If
End With
.Save
End With

End Sub
Configuration: Windows XP
Internet Explorer 6.0

2 réponses

  1. Bonjour,

    normal puisque c'est ce que tu lui demandes avec
    i = Sheets("enrticket").Range("IV1").End(xlToLeft).Column + 1
    pour travailler en recopie verticale, il faut aller en A65536, faire un END(XLUP).ROW+1 :
    Dim i As Integer
    i = Sheets("enrticket").Range("A65536").End(xlUp).Row+ 1 
    Sheets("ticket").Range("A6:d22").Copy Destination:=Sheets("enrticket").Cells(i, 1) 
    A+
    1. merci pour l'aide, ton code recopie l'un sur l'autre donc efface le précédent collage
    2. fait voir

      la technique du end(xlup) est classique et fonctionne....... à condition que la colonne sur laquelle elle s'applique ait des données!!!
      question : as-tu des données en A6:A22 (et surtout en A22) sur ta feuille "ticket"?

      en tout cas, monte ton fichier sur cjoint
    3. @JvDoj'ai envoyé le fichier, j'ai essayé en incluant des données en A22, toujours le même résultat
  2. Autre souci, avec la même macro je voudrai coller dans une feuille "reca"sur le même classeur, la cellule c22 de "ticket" en A puis la plage "A7:D16" de "ticket" en B C D et E de la feuille ticket mais en n'inserant pas les lignes vides, toujours en dessous du precedent collage