[Excel]VBA copie différente feuille

Bonjour,

voila mon code;
je voudrais que la copie que j'ai faite se colle sur la seconde feuille, appelée Archives.

En gros, ma question, c'est comment faire pour selectionner des cellule autre que sur la feuille 1

Private Sub Validation_Click()

A = 19
B = 2

While (Cells(A, B).Value <> "")
A = A + 1
Wend

Range(Cells(19, 2), Cells((A - 1), 6)).Select
Selection.Copy

C = 11
D = 3

While (Sheets("Archives").Cells(C, D).Value <> "")
C = C + 1
Wend

Sheets("Archives").Cells(C, 3).Select
Selection.Paste

End Sub
Configuration: Windows XP
Opera 9.52

5 réponses

  1. désolé de t'avoir embeté, j'ai trouvé tout seul, en testant:

    Private Sub Validation_Click()

    A = 19
    B = 2

    While (Cells(A, B).Value <> "")
    A = A + 1
    Wend

    Range(Cells(19, 2), Cells((A - 1), 6)).Select
    Selection.Copy

    C = 11
    D = 3

    While (Sheets("Archives").Cells(C, D).Value <> "")
    C = C + 1
    Wend

    Sheets("Archives").Select
    Sheets("Archives").Cells(C, 3).Select
    ActiveSheet.Paste

    End Sub

    Il fallait utiliser cells, et non range, qui ne prend pas de variables ^^ !

    Bonne journée
    2
    1. Contributeur
      Bonjour

      essaye cela :

      Range("A19:F" & Range("B65536").end(xlup).row).copy destination:=Sheets("Archives").range("C" & sheets("Archives").range("C65536").end(xlup).row + 1)


      1
      1. Contributeur
        re:

        le probleme est que j'ai horreur de faire des select, ca freine le code d'un force et un copier colle ne necessiite qu'une seule ligne de code sans select
        0
        1. Contributeur
          re:

          je vois que l'affichage est sur trois ligne or il doit etre sur une seule ligne, je viens de faire un copier coller sur une feuille, je ne vois pas de probleme, je te detaille le code :

          Range("B65536").end(xlup).row) ' te donne la derniere ligne de la colonne B
          Range("A19:F" & Range("B65536").end(xlup).row) ' te donne le Bloc A19:F derniere ligne de la colonne B
          Range("A19:F" & Range("B65536").end(xlup).row).copy ' Effectue la copie
          Range("A19:F" & Range("B65536").end(xlup).row).copy destination:= ' Pour l'envoyer à tel endroit
          l'endroit :
          Sheets("Archives").range("C" & sheets("Archives").range("C65536").end(xlup).row + 1)

          Sheets("Archives") ' Feuille "Archives" selon l'exemple que tu as donné
          Sheets("Archives").range("C" ' à partir de la colonne C
          sheets("Archives").range("C65536").end(xlup).row ' te donne la derniere ligne remplie de la colonne C
          sheets("Archives").range("C65536").end(xlup).row + 1 ' avec le +1, renvoie la 1ere ligne vierge apres la fin

          Sheets("Archives").range("C" & sheets("Archives").range("C65536").end(xlup).row + 1) te donne la premier cellule vide apres la fin de la base

          je ne vois aucune erreur dans le code
          si tu as saisi les 3 ligne il y a probleme, un copier coller fonction tres bien, (il remplace toute ta macro)

          -1
          1. il me sort au moins 4 erreurs pour ton code lol, je n'y comprends rien d'ailleurs
            -3