Bonjour à tous,

Dans mon activité professionnelle je suis amené à utiliser le VBA depuis environ 3 mois. Je n'avais jamais utilisé ce langage avant, mais je suis arrivé, grâce aux enregistrement de macro, à l'aide et à google, à trouver réponse à toutes mes questions.

Toutes ?
Non !
Car un code peuplé d'irréductibles erreurs résiste encore et toujours à mon imagination !

Voici la bête :

J'utilise des tableaux répertoriant les targets à atteindre chaque année pour un certain nombre d'usines :

Voici un tableau pour comprendre :

 -------  2013 -  2014 -  2015 -  2016
Usine1  -- 0.5 --- 0.5 --- 0.4 --- 0.4
Usine2  --   1 ---   1 ---   1 --- 0.8
Usine3  --   5 ---   4 ---   3 ---   2
Et voici comment je les ai défini dans mon code :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
tableau_usines = VBA.Array("usine1", "usine2", "usine3")
tableau2013 = VBA.Array("0.5", "1", "5")
tableau2014 = VBA.Array("0.5", "1", "4")
tableau2015 = VBA.Array(...)
tableau2016 = VBA.Array(...)
Pas de souci là-dessus, tout marche bien.

Dans mon code je crée un onglet pour chaque usine, et je veux créer dans chaque onglet un tableau avec les targets pour chaque année.

Sauf que le nombre d'années affiché va changer selon l'usine !
J'utilise pour ça une variable T qui vaut 0 en 2013, 1 en 2014, 2 en 2015 etc...

Je veux donc faire :
- une boucle sur les usines
--- une boucle qui écrit la target de l'année, mais seulement jusqu'à l'année définie par T
--- fin boucle target
-fin boucle usines

J'ai essayé quelque chose dans ce genre :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
for u= 0 to ubound(Tableau_Usines)
        'blablabla, code pour créer l'onglet
        'On donne la valeur de T

        For a = 2013 To 2013 + T 

                Cells(2, a - 2008).Value = Tableau & a & (u)

        Next a

next u
Je voudrais que Tableau & a & (u) aille chercher la target de l'usine u dans le tableau de l'année définie avec T.
Mais cela ne marche pas, et je n'arrive pas à trouver la bonne syntaxe.

(J'ai réfléchi à passer par un tableau ayant deux dimensions, mais j'ai toujours le même problème pour le remplir (les tableaux des targets sont remplis pour l'utilisateur directement dans le code de la macro).)

Connaîtriez vous la syntaxe pour résoudre ce problème ?

Merci d'avance,
Syldb