[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.

Rechercher des sujets similaires à "novice vba looping macro"