Pages

XL 2010 Transformer index+equiv en VBA sujet

mercredi 29 janvier 2014




Bonjour à tous et bonne année,

Dans un ficher LAKERS, j'ai une feuille nommée "notes" dans les cellules "F2" à "F13", j'utilise l'ensemble de formule ci-dessous, en incrémentant de 1 à 12 la fonction grande.valeur

Code :


INDEX(Stats_LAKERS!$B:$B;EQUIV(GRANDE.VALEUR(Stats_LAKERS!$C:$C+LIGNE(Stats_LAKERS!$C:$C)/100;1);Stats_LAKERS!$C:$C+LIGNE(Stats_LAKERS!$C:$C)/100;0)))



Je répète cet ensemble jusqu'aux colonnes "O". J'avoue que c'est très lourd.

Dans un USF, j'utilise une boucle for 1 à 12 pour alimenter des combobox nommées Zone_3pts1 à Zone_3pts12

Code :


Me.Controls("Zone_3pts" & I).Value = Worksheets("notes").Range("F" & I + 1).Value & " : " & WorksheetFunction.VLookup(Worksheets("notes").Range("F" & I + 1).Value, Worksheets("Stats_" & NomEquipe).Range("B2:N13"), 3, False)


NomEquipe est une variable string récupérée par

Code :


NomEquipe = Worksheets("base").Range("B2").Value



Si je laisse tout ça, cela fonctionne bien, le problème est la portabilité de mon code. Je n'ai pas envie de modifier l'ensemble index+equiv+grande.valeur si je créé un fichier BULLS.

Donc ma demande est de compiler :

Code :


Me.Controls("Zone_3pts" & I).Value = INDEX(Stats_LAKERS!$B:$B;EQUIV(GRANDE.VALEUR(Stats_LAKERS!$C:$C+LIGNE(Stats_LAKERS!$C:$C)/100;I);Stats_LAKERS!$C:$C+LIGNE(Stats_LAKERS!$C:$C)/100;0)))



Par avance, merci de votre aide




Aucun commentaire:

Enregistrer un commentaire