Macro excel, repetter toutes les trois ligne (en gardant certaine case fixe

Bonjour a tous,

Je débute dans l'utilisation des Macro (et en VBA j'ai le niveau 0) j'ai un document a mettre en page. J'ai réalisé une macro que je voudrais répéter toutes les trois ligne vers le bas... En gardant une seul case qui soit fixe pour la sélection (celle en J)... J’espère que je suis clair...Merci d'avance pour votre aide je joins le code:

Sub Macro5()
'
' Macro5 Macro
'

'
    Rows("4:4").Select
    Selection.Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove
    Range("A3").Select
    Selection.Copy
    Range("A4").Select
    ActiveSheet.Paste
    Range("J1").Select
    Application.CutCopyMode = False
    Selection.Copy
    Range("B4").Select
    ActiveSheet.Paste
    Range("E3").Select
    Application.CutCopyMode = False
    Selection.Copy
    Range("C4").Select
    ActiveSheet.Paste
    Range("D3").Select
    Application.CutCopyMode = False
    Selection.Copy
    Range("D4").Select
    ActiveSheet.Paste
    Range("A7").Select
End Sub

Niveau -1 en VBA , mais reagrde le dernier message ici https://forum.excel-pratique.com/viewtopic.php?t=3824

Il y a un cas de figure qui ressemble un peu au tien. Peut-être un début de solution ?

Bonjour,

Pouvez vous décrire les opérations à réaliser, et idéalement joindre un fichier pour l'illustrer ?

Le code produit par l'enregistreur de macro est utile pour apprendre un peu la syntaxe de VBA, mais dans l'immense majorité des cas, il présente peu d'intérêt. En effet, l'enregistreur reproduit "bêtement" l'ensemble des actions de l'utilisateur, ainsi le code produit n'est ni optimisé, ni généralisable à un fichier de structure ou dimension différente.

Exemple, pour copier une cellule en tant qu'utilisateur, nous devons la sélectionner. L'enregistreur écrit alors :

Range("A1").Select

Ensuite, on fait "copier", l'enregistreur écrit :

Selection.Copy

Etc...

En réalité, la sélection est totalement inutile à VBA, il suffit juste de bien lui mentionner les adresses d'origine et de destination de l'opération. On peut écrire tout sur une seule ligne, par exemple :

Range("A1").Copy destination:= Sheets("Feuil2").Range("A1")
Rechercher des sujets similaires à "macro repetter toutes trois ligne gardant certaine case fixe"