Déplacement d'une plage

Myki -  
 Myki -
Bonjour,
Me lançant dans les macros (EXCEL 2010), j'en suis aux premiers balbutiements. Je fais donc appel pour résoudre ce petit problème :
Soit une plage A1:D4 remplies de données.
Je voudrai que cette plage se reproduise à la suite l'une de l'autre, autrement dit en me plaçant sur A1, je voudrai que la macro copie la plage A1:D4 pour la coller en E1:H4. Pour l'action suivante, je me place en E1 et la macro doit me copier la plage E1:H4 pour la coller en I1:L4

Configuration: Windows / Firefox 83.0

2 réponses

  1. franc38 Messages postés 197 Date d'inscription   Statut Membre Dernière intervention   38
     
    Bonjour en macro ça donne:
      Dim i As Integer, j As Integer
    For i = 1 To 4
    For j = 1 To 4
    Cells(i, j + 4) = Cells(i, j)
    Next
    Next

    ou
      Range("A1:D4").Copy
    Range("E1").Select
    ActiveSheet.Paste

    ou
    Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
    Dim a
    a = Range("A1:E4")
    Range("E1:h4") = a
    End Sub


    A+ François
    0
  2. Myki
     
    Bonsoir à vous,
    Merci de votre réponse, mais cela ne semble pas correspondre à ce que je voulais. Néophyte, je me suis probablement mal exprimé. Je vais donc essayer de l'expliquer autrement :
    Voici les lignes codes d'une cellule que je déplace latéralement, quelque soit la cellule que je choisis au départ :

    Sub Macro1()
    '
    ' Macro1 Macro

    Selection.Copy
    ActiveCell.Offset(0, 5).Select
    ActiveSheet.Paste
    End Sub

    Tout simplement, je voudrai faire la même chose, mais pour une plage de cellule, plage que je ne serai pas obligé de nommer.
    J'ai commencé la ligne de code suivante, cela marche, mais c'est le déplacement de la sélection que je n'arrive pas à faire :

    Sub TTT()
    '
    ' TTT Macro
    '
    ActiveCell.Select
    Range(Selection, Selection.End(xlToRight)).Select
    Range(Selection, Selection.End(xlDown)).Select
    Application.CutCopyMode = False
    Selection.Copy
    'C'EST AU NIVEAU SUIVANT QUE CELA "COINCE"
    ("offset(0,7)").Select
    'ActiveSheet.Paste
    ' Range("AX1").Select
    'ActiveSheet.Paste
    End Sub
    0