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
    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 !
  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
    Nonjour,

    copies tu que les valeurs des cellules ?

    Je repasse en fin d'après midi
    1. Oui juste les valeurs ..
  4. 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