[Excel]VBA copie différente feuille

Leahkim Messages postés 3219 Statut Membre -  
wilfried_42 Messages postés 912 Statut Contributeur -
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. Leahkim Messages postés 3219 Statut Membre 281
     
    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
  2. wilfried_42 Messages postés 912 Statut Contributeur 245
     
    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
  3. wilfried_42 Messages postés 912 Statut Contributeur 245
     
    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
  4. wilfried_42 Messages postés 912 Statut Contributeur 245
     
    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
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. Leahkim Messages postés 3219 Statut Membre 281
     
    il me sort au moins 4 erreurs pour ton code lol, je n'y comprends rien d'ailleurs
    -3