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

  • Votes
  • Date
  • Date décroissante
  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
    1. Contributeur
      Nonjour,

      copies tu que les valeurs des cellules ?

      Je repasse en fin d'après midi
      1. Oui juste les valeurs ..
    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
      1. Je suis pas un expert, ce sont mes premières macros, mais je vais essayer.
        Encore merci !
      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
    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
      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 !