Tableau VBA - Simplification de code

Y compris Power BI, Power Query et toute autre question en lien avec Excel
Répondre
K
KAK
Jeune membre
Jeune membre
Messages : 27
Inscrit le : 9 mai 2017
Version d'Excel : 2010

Message par KAK » 31 décembre 2018, 21:15

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
Avatar du membre
curulis57
Passionné d'Excel
Passionné d'Excel
Messages : 3'747
Appréciations reçues : 226
Inscrit le : 4 janvier 2016
Version d'Excel : 2016 FR / 2019 FR

Message par curulis57 » 1 janvier 2019, 03:24

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!
:O-O: :fete:

A+
K
KAK
Jeune membre
Jeune membre
Messages : 27
Inscrit le : 9 mai 2017
Version d'Excel : 2010

Message par KAK » 1 janvier 2019, 08:09

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
Répondre
  • Sujets similaires
    Réponses
    Vues
    Dernier message