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