V
VASSAS
Guest
Bonjour,
J'ai monté un tableau composé de feuilles "agent" et une feuille synthèse où est calculé le cumul des feuilles agent. A tout moment des feuilles agent peuvent être rajoutées.
Pour effectuer les calculs, j'ai élaboré la macro suivante :
Sub CalculSynthese()
Dim Feuille As Worksheet
NF = Sheets("synthese").Index - 1 'nombre de feuilles agents
For j = 2 To 16 'numéro de colonnes de B à P
For l = 5 To 23 'numéro de lignes de 5 à 23
result = 0
For Each Feuille In Sheets()
If Feuille.Index < Sheets("synthese").Index Then 'les feuilles avant la feuille synthese
Feuille.Select
tot = Cells(l, j).Value 'calcul du cumul
result = result + tot
End If
Next Feuille
Sheets("synthese").Select 'report des résultats dans la feuille synthese
Cells(l, j) = result 'cumul
Cells(l + 23, j) = result / NF 'calcul de la moyenne et report du résultat 23 lg plus bas
Next l
Next j
End Sub
Ca fonctionne très bien mais les cellules étant mises à jour les unes après les autres, celà demande un certain temps qui devient un temps certain suivant le nombre de feuilles.
Ma question : avez-vous une meilleure solution ?
Merci.
J'ai monté un tableau composé de feuilles "agent" et une feuille synthèse où est calculé le cumul des feuilles agent. A tout moment des feuilles agent peuvent être rajoutées.
Pour effectuer les calculs, j'ai élaboré la macro suivante :
Sub CalculSynthese()
Dim Feuille As Worksheet
NF = Sheets("synthese").Index - 1 'nombre de feuilles agents
For j = 2 To 16 'numéro de colonnes de B à P
For l = 5 To 23 'numéro de lignes de 5 à 23
result = 0
For Each Feuille In Sheets()
If Feuille.Index < Sheets("synthese").Index Then 'les feuilles avant la feuille synthese
Feuille.Select
tot = Cells(l, j).Value 'calcul du cumul
result = result + tot
End If
Next Feuille
Sheets("synthese").Select 'report des résultats dans la feuille synthese
Cells(l, j) = result 'cumul
Cells(l + 23, j) = result / NF 'calcul de la moyenne et report du résultat 23 lg plus bas
Next l
Next j
End Sub
Ca fonctionne très bien mais les cellules étant mises à jour les unes après les autres, celà demande un certain temps qui devient un temps certain suivant le nombre de feuilles.
Ma question : avez-vous une meilleure solution ?
Merci.