Excel-VBA Création d'une boucle de colonne
Lbn23
Messages postés
1
Statut
Membre
-
Utilisateur anonyme -
Utilisateur anonyme -
Bonjour,
Depuis de nombreux jours je parcours tout les forums possible sur VBA mais je ne trouve pas de réponse à mon problème...
J'ai une première feuille avec 11 actions avec leurs rendement rangés par colonne
et j'aimerai calculer la moyenne des rendements de chaque action en redirigeant les resultats dans un tableau sur une autre feuille où la les actions sont rangées par ligne.
Pour le moment j'ai le code suivant:
Public Sub test()
Dim moyenne As Double
Dim rendement As Range
Dim i As Integer, j As Integer
Set plage = Range("P5", "Z63")
For i = 1 To 12
For j = 1 To 11
ThisWorkbook.Sheets("feuil1").Cells(5, j).Select
Set rendement = Range(Selection, Selection.End(xlDown))
moyenne = WorksheetFunction.Average(rendement)
ThisWorkbook.Sheets("Résultats").Cells(i, 2).Value = moyenne
Next j
Next i
End Sub
Les résultats s'inserent dans le tableau mais c'est le meme resultat qui est affiché pour les 11 actions..
Purriez vous m'aider s'il vous plait !
Cordialement!
Depuis de nombreux jours je parcours tout les forums possible sur VBA mais je ne trouve pas de réponse à mon problème...
J'ai une première feuille avec 11 actions avec leurs rendement rangés par colonne
et j'aimerai calculer la moyenne des rendements de chaque action en redirigeant les resultats dans un tableau sur une autre feuille où la les actions sont rangées par ligne.
Pour le moment j'ai le code suivant:
Public Sub test()
Dim moyenne As Double
Dim rendement As Range
Dim i As Integer, j As Integer
Set plage = Range("P5", "Z63")
For i = 1 To 12
For j = 1 To 11
ThisWorkbook.Sheets("feuil1").Cells(5, j).Select
Set rendement = Range(Selection, Selection.End(xlDown))
moyenne = WorksheetFunction.Average(rendement)
ThisWorkbook.Sheets("Résultats").Cells(i, 2).Value = moyenne
Next j
Next i
End Sub
Les résultats s'inserent dans le tableau mais c'est le meme resultat qui est affiché pour les 11 actions..
Purriez vous m'aider s'il vous plait !
Cordialement!
1 réponse
-
Bonjour,
Très près de la solution :
Public Sub test() Dim moyenne As Double Dim rendement As Range Dim Plage As Range Dim i As Integer, j As Integer Set Plage = Range("P5", "Z63") For i = 1 To 12 For j = 16 To 26 ThisWorkbook.Sheets("feuil1").Cells(5, j).Select Set rendement = Range(Selection, Selection.End(xlDown)) moyenne = WorksheetFunction.Average(rendement) ThisWorkbook.Sheets("Résultats").Cells(i, 2).Value = moyenne Next j Next i End Sub '
Cdt
Lupin