Copier le contenu d'une colonne

Fermé
fredomo60 - 12 mars 2013 à 21:31
michel_m Messages postés 16603 Date d'inscription lundi 12 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2023 - 14 mars 2013 à 09:23
Bonjour,

dans le même fichier, j'extrais quotidiennement une série de données dans la feuille 1 colonne C, que je replace dans la feuille 2 les une à la suite des autres.

comment puis je automatiser cette tâche?




A voir également:

3 réponses

keskisspasse Messages postés 5 Date d'inscription mercredi 13 mars 2013 Statut Membre Dernière intervention 13 mars 2013
13 mars 2013 à 05:58
Bonjour,
    Private Sub bouton_Click()
        Sheets("page1" ).Select
        Range("A2:A200" ).Select  ' j'ai mis 200 car j'avais envi ^^
        Selection.Copy
        Sheets("page2" ).Select
        Range("A2:A200" ).Select
        ActiveSheet.Paste
       
    End Sub


Nom des fichier : page1 et page2
0
fredomo60 Messages postés 2 Date d'inscription mardi 12 mars 2013 Statut Membre Dernière intervention 13 mars 2013
13 mars 2013 à 21:38
merci pour ta réponse.
je suis pas sur que je pourrait incrémenter mes multiples extractions à la suite. avec ta macro, je vais écraser mes données au fur et à mesure
0
michel_m Messages postés 16603 Date d'inscription lundi 12 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2023 3 310
13 mars 2013 à 09:03
Bonjour,

Ta demande est un peu floue... :o)

pour copier "à la suite" dans la colonne C de la feuille 2

Sub copier_alasuite()
Dim Derlig1 As Integer, derlig2 As Integer, copie()

 With Sheets(1)
     Derlig1 = .Columns("C").Find("*", , , , , xlPrevious).Row
     copie = .Range(.Cells(deblig, "C"), .Cells(Derlig1, "C")).Value
End With
With Sheets(2)
     ' si on a un nom de champ en ligne 1
    derlig2 = .Columns("C").Find("", .Cells(1, "C")).Row
    .Cells(derlig2, "C").Resize(Derlig1 - deblig, 1) = copie
End With

End Sub 
 
0
fredomo60 Messages postés 2 Date d'inscription mardi 12 mars 2013 Statut Membre Dernière intervention 13 mars 2013
13 mars 2013 à 21:35
Bonjour Michel,

Merci pour ta réactivité.
j'ai installé ta macro sur un pseudo fichier et j'ai un message d'erreur de ce type en lançant la macro :

erreur de compilation :
variable non définie

que faire ?
0
michel_m Messages postés 16603 Date d'inscription lundi 12 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2023 3 310
14 mars 2013 à 09:23
Bonjour

Effectivement, excuse moi
J'ai repris le code
Deblig est en constante pour faciliter un changement de début sans rentrer dans la macro

Option Explicit
Const Deblig As Byte = 2 'lignes de début  des données feuil1 _
                                             et de la première copie feuille 2

Sub copier_alasuite()
Dim Derlig1 As Integer, Derlig2 As Integer, Copie()

 With Sheets(1)
     Derlig1 = .Columns("C").Find("*", , , , , xlPrevious).Row
     Copie = .Range(.Cells(Deblig, "C"), .Cells(Derlig1, "C")).Value
End With
With Sheets(2)
    Derlig2 = .Columns("C").Find("", .Cells(Deblig - 1, "C")).Row
    .Cells(Derlig2, "C").Resize(Derlig1 - Deblig, 1) = Copie
End With

End Sub
0