[Novice] VBA Looping Macro
Bonjour à tous,
Je suis novice en vba et j'aimerai avoir votrre aide sur une fonction vba.
J'ai réussi à enregistrer une macro qui me permet de copier les valeurs de mon spreadsheet "DATA" vers mon spreadsheet "CALCULATION". Ce dernier calcule un score basé sur les valeurs copiées. Ensuite la macro copie les valeurs + le score dans un nouveau sheet : "data_assessment"
Tout fonctionne mais je souhaiterais savoir comment automatiser le processus pour chaque ligne d'info présente dans mon sheet "data". Comment loop la fonction pour chaque ligne ?
Comme vous pouvez voir dans mon code ci-dessous, j'ai tenté de trouver moi même une solution pour looper la fonction mais sans succès. Avec le code ci-dessous, excel me renvoie une erreur pour la selection actuelle et me demande de selectionner une seule ligne.
CODE:
Sub last()
Dim x As Integer
' Set numrows = number of rows of data.
NumRows = Range("A2", Range("A2").End(xlDown)).Rows.Count
' Select cell a1.
Range("A2").Select
' Establish "For" loop to loop "numrows" number of times.
For x = 1 To NumRows
' Insert your code here.
'
' last Macro
'
' Keyboard Shortcut: Ctrl+Shift+L
'
Sheets("CALCULATION").Select
Range("E1").Select
ActiveCell.FormulaR1C1 = "=DATA!R2C5"
Range("B3").Select
ActiveCell.FormulaR1C1 = "=DATA!R2C17&"" ""&DATA!R2C18"
Range("C3").Select
ActiveCell.FormulaR1C1 = "=DATA!R2C2"
Range("C3").Select
ActiveCell.FormulaR1C1 = "=DATA!R2C3"
Range("C6:E6").Select
ActiveCell.FormulaR1C1 = "=DATA!R2C1"
Range("C9").Select
ActiveCell.FormulaR1C1 = "=DATA!R2C25"
Range("C10").Select
ActiveCell.FormulaR1C1 = "=DATA!R2C19"
Range("C11").Select
ActiveCell.FormulaR1C1 = "=DATA!R2C24"
Range("C15").Select
ActiveCell.FormulaR1C1 = "=DATA!R2C31"
Range("C18").Select
ActiveCell.FormulaR1C1 = "=DATA!R2C21"
Range("C19").Select
ActiveCell.FormulaR1C1 = "=DATA!R2C28"
Range("C20").Select
Sheets("DATA").Select
ActiveWindow.ScrollColumn = 10
ActiveWindow.ScrollColumn = 11
ActiveWindow.ScrollColumn = 12
ActiveWindow.ScrollColumn = 13
Range("AF2").Select
ActiveCell.FormulaR1C1 = "=CALCULATION!R[21]C[-29]"
Rows("2:2").Select
Range("M2").Activate
Selection.Copy
Sheets("DATA_ASSESSEMENT").Select
Rows("2:2").Select
Range("K2").Activate
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Application.CutCopyMode = False
Selection.Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove
Sheets("DATA").Select
Selection.Delete Shift:=xlUp
Sheets("DATA").Select
' Selects cell down 1 row from active cell.
ActiveCell.Offset(1, 0).Select
Next
End Sub J'espère que vous saurez m'aider.
D'avance merci!
Bonjour,
je vais me faire le porte parole des aidants; il est difficile de t'aider sans fichier ...
P.