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 :
Et voici comment je les ai défini dans mon code :------- 2013 - 2014 - 2015 - 2016 Usine1 -- 0.5 --- 0.5 --- 0.4 --- 0.4 Usine2 -- 1 --- 1 --- 1 --- 0.8 Usine3 -- 5 --- 4 --- 3 --- 2
Pas de souci là-dessus, tout marche bien.
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(...)
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 :
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.
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
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
Partager