Bonjour (et bonnes vacances pour ceux/celles qui y sont déjà),
Je souhaite optimiser un "très" lourd fichier créé par un trés gentil stagiaire aujourd'hui parti vers de nouvelles aventures
En effet, le truc fait juste plus de 20Mo et j'ai tout le temps de déjeuner, boire un café et faire un tour quand il tourne.
Ce fichier comporte de nombreuses formules matricielles dont celle ci-après que j'ai simplifiée :
{=RANG.POURCENTAGE.INCLURE(SI($G:$G="Issuer Reco";$H:$H;"");$H3))} que l'on pourrait même simplifier jusqu'à {=RANG.POURCENTAGE.INCLURE($H:$H;$H3)}.
Lorsque je retranscris cette petite chose dans un sub, j'obtiens un résultat satisfaisant sur une cellule avec :
Mon problème est que je n'arrive pas à retranscrire la partie de la colonne $H:$H et de la cellule $H3 avec des variables afin des les incorporer dans une boucle.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 Sub Test() Issuer_Reco.Cells(3, 41) = Evaluate([PERCENTRANK.INC($H:$H,$H3)]) End Sub
Le truc tout bête pour faire le recalcul en matriciel (je ne veux que le résultat dans la cellule et non une formule) ligne par ligne avec selon les cas changement de la colonne (matrice) de référence du genre :
Selon les cas, le résultat me renvoi #NOM? (dans le cas présent) ou #VALEUR! si je fais :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 Sub Calculs_Level2() Dim i As Integer For i = 3 To Issuer_Reco.Cells(Rows.Count, 1).End(xlUp).Row Issuer_Reco.Cells(i, 41) = Evaluate([PercentRank.INC($H:$H,i)]) Next i End Sub
Je suis certain que cela me crève les yeux, mais là...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 Sub Calculs_Level2() Dim i As Integer For i = 3 To Issuer_Reco.Cells(Rows.Count, 1).End(xlUp).Row Issuer_Reco.Cells(i, 41) = Evaluate([PercentRank.INC($H:$H," & i " &)]) Next i End Subj'ai aussi besoin de vacances (bientôt
)
Un grand MERCI par avance pour votre précieuse aide.
Très bonne fin de journée à toutes/tous
Partager