Copier à la suite

Bonjour,

Je souhaite faire une chose certainement toute bête : créer une macro qui prend une cellule dans une feuille et qui la copie dans une autre feuille mais à la suite de ce qui a déjà été copié (et pas en écrasant ce qui y est déjà).
Merci !

4 réponses

  1. Contributeur
    re,
    en supposant que les cellules M16 et B25 soient dans la même feuille

    Option Explicit
    '-----------------
    Sub ccm()
    Dim Valeur
    Dim Cellule As Range

    With ActiveSheet
    Valeur = Range("M16")
    With Range("B25")
    .Value = Valeur
    .Borders.Weight = xlThin
    End With
    End With
    Windows("Classeur2").Activate
    With Sheets(1)
    Set Cellule = .Columns("A").Find(what:="", after:=.Range("A1"))
    Cellule = Valeur
    End With
    End Sub


    Quel type de données se trouve dans dans M16: texte, nombre, monétaire,date, heure...

     Michel
    0
    1. Contributeur
      Nonjour,

      copies tu que les valeurs des cellules ?

      Je repasse en fin d'après midi
      0
      1. Oui juste les valeurs ..
        0
    2. Contributeur
      Ok,

      Quand tu va coller dans classeur2 feuille1
      met une ent^te en A1 (un espace suffit)
      la suite de ton code
      Dim cellule As Range
      'dans la colonne A trouve la cellule avec quoi:=vide, après:= A1
      Set cellule = Columns("A").Find(what:="", after:=Range("A1"))
      'active la cellule (ou colle ou...)
      cellule.Select


      La première cellule en provenance de classeur 1 sera en A2, puis A3 etc
       Michel
      0
      1. Je suis pas un expert, ce sont mes premières macros, mais je vais essayer.
        Encore merci !
        0
      2. Bonjour Michel
        Puis-je encore abuser ? -))
        Dans le code ci dessous pour quelle raison ma cellule M16 dans le résultat final n'apparaît pas dans la cellule B25 ..

        Range("M16").Select
        Application.CutCopyMode = False
        Selection.Copy
        Range("B25").Select
        ActiveSheet.Paste
        Application.CutCopyMode = False
        Selection.Borders(xlDiagonalDown).LineStyle = xlNone
        Selection.Borders(xlDiagonalUp).LineStyle = xlNone
        Selection.Borders(xlEdgeLeft).LineStyle = xlNone
        Selection.Borders(xlEdgeTop).LineStyle = xlNone
        Selection.Borders(xlEdgeBottom).LineStyle = xlNone
        Selection.Borders(xlEdgeRight).LineStyle = xlNone
        Selection.Borders(xlInsideVertical).LineStyle = xlNone
        Selection.Borders(xlInsideHorizontal).LineStyle = xlNone
        Range("M16").Select
        Application.CutCopyMode = False
        Selection.Copy
        Windows("Classeur2").Activate
        Range("A2").Select
        Dim cellule As Range
        Set cellule = Columns("A").Find(what:="", after:=Range("A1"))
        cellule.Select
        ActiveSheet.Paste
        End Sub
        0
    3. Contributeur
      Bonjour
      cellule dans une feuille
      Quelle cellule dans quelle feuille ?
      à la suite de ce qui a déjà été copié
      A la suite de quoi: à droite, à gauche, en dessous ?
      quelle cellule départ dans quelle feuille ?

      CCM ne fournit pas de boule de cristal aux contributeurs
      0
      1. Bonjour Michel
        En fait, je voudrais copier le contenu d'une cellule qui est dans un classeur vers un autre classeur avec une macro.
        Par exemple la cellule 1 de la colonne A du classeur 1 vers la cellule 1 de la colonne A du classeur 2.
        Mais ce que j'aimerais (et que je n'arrive pas à faire!) c'est que ma macro n'écrase pas ce qu'il y a dans cette cellule de destination mais l'inscrive à la suite en dessous au fur et à mesure.
        Ça ne doit pas être trop complexe mais comme je débute ..
        Merci !
        0