Copier le contenu d'une colonne

fredomo60 -  
michel_m Messages postés 18903 Date d'inscription   Statut Contributeur Dernière intervention   -
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?

3 réponses

  1. keskisspasse Messages postés 5 Date d'inscription   Statut Membre Dernière intervention  
     
    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
    1. fredomo60 Messages postés 2 Statut Membre
       
      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
  2. michel_m Messages postés 18903 Date d'inscription   Statut Contributeur Dernière intervention   3 320
     
    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
  3. fredomo60 Messages postés 2 Statut Membre
     
    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
    1. michel_m Messages postés 18903 Date d'inscription   Statut Contributeur Dernière intervention   3 320
       
      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