Tableau VBA - Simplification de code

Bonsoir,

J'ai dois exécuter une macro sur un fichier Excel contenant plus de 200 milles lignes. J'ai fais une macro pour faire le travail, la macro fonctionne bien mais elle prend beaucoup trop de temps (2 à 3h de temps d'exécution : littéralement).

Je pense que c'est possible de diminuer le temps de calcul en utilisant la variable tableau sur Excel mais je n'arrive pas à le faire. Pouvez-vous m'aider svp?

Voici-le code :

Sub Tarif()

Dim a As Long

Dim temps%

Dim periode%

Dim intervalleDeTemps As Long

Dim ValeurCI As Long

Dim ValeurCRD As Long

Dim Offre As Long

Dim PlageCalcul As Long

Application.ScreenUpdating = False

PlageCalcul = Sheets("Membres").Range("A" & Rows.Count).End(xlUp).Row

For a = 2 To PlageCalcul

temps = 0

intervalleDeTemps = 0

Offre = 0

primepercue = 0

periode = Sheets("Membres").Cells(a, 5)

Sheets("Feuil3").Select

Sheets("Feuil3").Cells(1, 11) = a

Range("J1").Select

ActiveCell.FormulaR1C1 = periode

'Range("J1") = periode

Range("J2").Select

temps = Sheets("Membres").Cells(a, 3)

intervalleDeTemps = Sheets("Membres").Cells(a, 9)

Offre = Sheets("Membres").Cells(a, 2)

ValeurCI = Offre * Sheets("Feuil3").Cells(40, 7 + temps) * intervalleDeTemps / 100000

Sheets("Membres").Cells(a, 13) = ValeurCI

ValeurCRD = Offre * WorksheetFunction.Sum(Range(Sheets("Feuil3").Cells(42, 7 + temps), Sheets("Feuil3").Cells(41 + intervalleDeTemps, 7 + temps))) / 100000

Sheets("Membres").Cells(a, 14) = ValeurCRD

Next a

Application.ScreenUpdating = True

End Sub

Salut KAK,

peux-tu nous envoyer un fichier avec quelques dizaines de lignes?

Plus facile à comprendre en cette nuit arrosée!

Bonne année, tout le monde!

A+

Salut Curulis,

Merci pour ta réponse,

Voici le fichier allégé en pièce jointe.

Le fichier étant très lourd, je l'ai mis en binaire (il faut le mettre en xlsm pour effectuer les macros).

Je veux calculer les colonnes M et N de l'onglet ptf adhésions.

Bonne année

Rechercher des sujets similaires à "tableau vba simplification code"