VBA, erreur 9 sur des boucles

Mappie

XLDnaute Junior
Bonjour,

J’ai un tableau de dimension (500 lignes, 50 colonnes) sur lequel je dois calculer la valeur minimale sur un nb variable de colonnes et je stocke ce résultat dans un tableau.

Par exemple, pour trouver la valeur minimale toutes les 10 colonnes, je voulais calculer les valeurs avec la fonction Calculs_Val_Min(5, 10) pour retourner un tableau où on aurait:
Ligne1 : Valeur min des colonnes (1 à 10)
Ligne2 : Valeur min des colonnes (11 à 20)
Ligne3 : Valeur min des colonnes (21 à 30)
Ligne4 : Valeur min des colonnes (31 à 40)
Ligne5 : Valeur min des colonnes (41 à 50)

1) Pour cela, j’ai crée une fonction où les résultats seraient stockés dans un tableau Résultats_Min avec deux boucles et je stocke le tableau sur une autre feuille dans une procédure (avec dans cet exemple) :

Option Base 1
Public Résultats_Min() As Double

Sub Test ()
Worksheets("Feuille2").Activate
Range("C4:C8").Value = Calculs_Val_Min (5, 10)
End Sub

Function Calculs_Val_Min(Nb_lig, Nb_Col)
Dim i, n, j As Integer
ReDim Résultats_Min (Nb_lig, 1) As Double

n = Range(Range("A2"), Range("A2").End(xlDown)).Rows.Count
i = 1

While i <= Nb_lig
For j = 1 To 50 Step Nb_lig
For k = Nb_lig To 50 Step Nb_lig

Résultats_Min (i, 1) = WorksheetFunction.Min(Range(Cells(2, j), Cells(501, k)))
i = i + 1
Next k
Next j
Wend
Calculs_Val_Min = Résultats_Min

End Function

Mon problème, c’est lorsque j’exécute la procédure, j’ai un message d’erreur : « Erreur d’exécution9 : l’indice n’appartient pas à la sélection » sur la ligne :
Résultats_Min (i, 1) = WorksheetFunction.Min(Range(Cells(2, j), Cells(501, k)))

Je ne sais pas s’il y a une erreur au niveau de cette ligne seulement, de mes boucles ou de mon programme, mais j'ai beau chercher depuis un moment, je coince toujours.

Merci d'avance pour votre aide
 

Discussions similaires

Réponses
0
Affichages
299

Membres actuellement en ligne

Statistiques des forums

Discussions
314 450
Messages
2 109 726
Membres
110 552
dernier inscrit
jasson