Action copier coller a repeter 39 fois decalle de 5 ligne a chaque fois

BOnjour,

je suis debutant en VBA Excel, j'ai un tableau de budget (feuille ORIG) dont les dispositions doivent suivre le format de la feuille (FAV15). ai

J'ai enregistre la macro que je dois repeter 39 fois en decallant de 5 ligne a chaque action.

Sub Macro5()
'
' Macro5 Macro
'
' Keyboard Shortcut: Ctrl+z
'

Sheets("ORIG").Select
Range("C5").Select
Selection.Copy
Sheets("FAV15").Select
Range("B9").Select
ActiveSheet.Paste

Sheets("ORIG").Select
Range("D5").Select
Application.CutCopyMode = False
Selection.Copy
Sheets("FAV15").Select
Range("D9").Select
ActiveSheet.Paste

Sheets("ORIG").Select
Range("E5").Select
Application.CutCopyMode = False
Selection.Copy
Sheets("FAV15").Select
Range("E9").Select
ActiveSheet.Paste

Sheets("ORIG").Select
Range("E5:F5").Select
Application.CutCopyMode = False
Selection.Copy
Sheets("FAV15").Select
Range("F9").Select
ActiveSheet.Paste

Sheets("FAV15").Select
Range("D10").Select
Application.CutCopyMode = False
ActiveCell.FormulaR1C1 = "=ORIG!R[-5]C[4]+ORIG!R[-5]C[5]"
Range("E10").Select
ActiveCell.FormulaR1C1 = "1"
Range("E10").Select
ActiveCell.FormulaR1C1 = "0.15"
Range("F10").Select
ActiveCell.FormulaR1C1 = "1"
Range("G10").Select
ActiveCell.FormulaR1C1 = "3400"

Sheets("ORIG").Select
Range("D5").Select
Selection.Copy
Sheets("FAV15").Select
Range("D11").Select
ActiveSheet.Paste

Range("E11").Select
Application.CutCopyMode = False
ActiveCell.FormulaR1C1 = "1"

Range("F11").Select
ActiveCell.FormulaR1C1 = "1"

Sheets("ORIG").Select
Range("M5").Select
Selection.Copy
Sheets("FAV15").Select
Range("G11").Select
ActiveSheet.Paste
End Sub

je n'arrive pas a faire le boucle. ce serait genial si vous pouvez m'aider a le faire.

ci dessous le macro que j'ai enregistre.

Grand Merci.

Rebonjour,

en fait , toutes les informations dans la ligne 5 de la feuille ORIG doivent etre copiees dans les lignes 9 , 10, 11 de la feuille FAV15.

les informations de la ligne 6 de la feuille ORIG doivent etre copiees dans les ligne 13, 14,15 de la feuille FAV 15 ainsi de suite c'est a dire un pas de 4 cellules.

merci

Fidele17

Bonjour Fidele17

En utilisant 2 variables pour les lignes ORIG et FAV15

Voici un exemple de code, a adapter certainement un peu pour le remplissage correcte des données

Sub MiseAJour_FAV15()
  Dim ShtO As Worksheet, ShtF As Worksheet
  Dim Lig As Long, LigF As Long
  ' Définir les feuilles à traiter
  Set ShtO = ThisWorkbook.Sheets("ORIG")
  Set ShtF = ThisWorkbook.Sheets("FAV15")
  ' Définir la 1ère ligne de FAV15 à traiter
  LigF = 9
  ' Boucle sur le ligne d'ORIG
  For Lig = 5 To 43
    ShtF.Range("B" & LigF).Value = ShtO.Range("C" & Lig).Value
    ShtF.Range("D" & LigF).Value = ShtO.Range("D" & Lig).Value
    ShtF.Range("E" & LigF).Value = ShtO.Range("E" & Lig).Value
    ShtF.Range("F" & LigF).Value = ShtO.Range("F" & Lig).Value
    ShtF.Range("D" & LigF + 1).FormulaLocal = "=ORIG!H" & Lig & "+ORIG!I" & Lig
    ShtF.Range("E" & LigF + 1).Value = 1
    ShtF.Range("F" & LigF + 1).Value = 1
    ShtF.Range("G" & LigF + 1).Value = ShtO.Range("K" & Lig).Value
    ShtF.Range("D" & LigF + 2).Value = ShtO.Range("D" & Lig).Value
    ShtF.Range("E" & LigF + 2).Value = 1
    ShtF.Range("F" & LigF + 2).Value = 1
    ShtF.Range("G" & LigF + 2).Value = ShtO.Range("M" & Lig).Value
    ' Incrémenter la ligne de départ de FAV15
    LigF = LigF + 4
  Next Lig
  ' Effacer les variables objet
  Set ShtO = Nothing: Set ShtF = Nothing
End Sub

@+

BOnjour BrunoM45

cela a resolu mon probleme ,

le macro a parfaitement fonctionne avec un peu d'adaptation.

merci beaucoup

A+ pour des nouveaux defis

Fidele 17

Rechercher des sujets similaires à "action copier coller repeter fois decalle ligne chaque"