Bonjour à tous,

Voila je cherche à faire quelque chose de relativement simple je pense. Seulement n'ayant aucune notion en VBA, j'ai du mal à faire proprement ce que je veux.

Je dis proprement car j'ai réussi à faire ce que je voulais ... mais pas élégamment ... D'où mon message.

J'ai deux variables RANGE ressources et durees
Je parcours ressources grâce à une boucle For Each ... Next
A chaque itération j'ai un compteur qui me tient informé de combien d'itération j'ai fait : compteur

Ma question est la suivante :
Comment, à un instant t, accéder directement à la cellule compteur de ma variable durees ? (dans le but ensuite de récupérer la valeur de cette cellule).

Comme parfois un bout de code vaut mieux qu'un long discours, en gros voila ce que j'ai mais que je voudrais plus élégant :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
 
Function CalculTempsRessource(CodeReference As Integer, CodeRessource As Range, Duree As Range) As Variant
    ' On pourrait nettement mieux faire
    ' mais je ne sais pas comment faire
    ' pour accéder directement à un élement
    ' de Range
    '
    ' Je continue à chercher !
    Dim i As Integer
    Dim temps() As Double
    ReDim temps(0 To Duree.Count - 1)
    CalculTempsRessource = 0
    i = 0
    For Each Cell In Duree
        temps(i) = Cell.Value
        i = i + 1
    Next Cell
    i = 0
    For Each Code In CodeRessource
        If Code.Value = CodeReference Then
            CalculTempsRessource = CalculTempsRessource + temps(i)
        End If
        i = i + 1
    Next Code
End Function
En gros j'aimerais ne pas avoir à construire ce premier tableau ...


Merci d'avance à quiconque m'aidera !