XL 2016 Demande d'avis : Formules Excel ou code VBA ?

KTM

XLDnaute Impliqué
Bonsoir chers tous
J'ai conçu un fichier de gestion de stock qui comporte des parties traitées avec des formules Excel et des parties traitées avec codes VBA via des formulaires de saisie.
Je me rend compte que mon fichier est devenu lourd (6000 Ko) et mes codes accusent une lenteur dans leur exécution.
Avec mes moyennes connaissances en excel Vba je soupçonne mes nombreuses formules excel ( formules matricielles , Indirect, Somme.si.ens....... souvent imbriquées ).
J'ai décidé de les remplacer par code vba.
Je voudrais savoir aupres des experts en vba si mes soupçons sont fondés et si ma décision est judicieuse ou quelques astuces à observer.
Merci et a plus.
 

Usine à gaz

XLDnaute Barbatruc
Supporter XLD
Bonjour KTM,
Pas expert mais utilisateur de fichiers importants avec beaucoup de formules.

Pour moi, il est évident que :
- Traiter les formules par codes vba pour que les cellules ne contiennent que les résultats,
- Traiter ligne par ligne,

- Cela allège le fichier et évite les recalculs puisqu'alors plus de formules dans la feuille mais que des chiffres :
= exécutions plus rapides,
= fichier allégé,

lionel :)
 
Dernière édition:

KTM

XLDnaute Impliqué
Bonjour KTM,
Pas expert mais utilisateur de fichiers importants avec beaucoup de formules.

Pour moi, il est évident que :
- Traiter les formules par codes vba pour que les cellules ne contiennent que les résultats,
- Traiter ligne par ligne,

- Cela allège le fichier et évident supprime les calcul puisqu'alors plus de formules dans la feuille mais que des chiffres :
= exécutions plus rapides,
= fichier allégé,

lionel :)
Merci !!!
 

Ioda12345

XLDnaute Nouveau
Bonjour KTM,
le VBA est beaucoup plus facile à gerer.
Pour cela, il faut aller avec xlx2016 dans : Fichier /Option /personnaliser le ruban
cocher "developpeur"
valider
Ensuite vous aurez l'onglet developpeur a droite de l'onglet affichage.
Cliquer sur "visual basic" en haut à gauche
cliquer droit sur" microsoft Excet objet"
cliquer sur insertion /Module...
Ensuite il faut creer le module VBA
(voir exemple de calcul en grades)
il faudra ensuite enregistrer en .xslm pour sauvegarder le module vba
CDT
Ioda
 

Pièces jointes

  • calcul en grades.xlsm
    18.4 KB · Affichages: 2
Bonjour le fil, le forum

Pour moi, tout transposer en vba n'est pas obligatoirement nécessaire pour retrouver un fonctionnement rapide, il faut d'abord s'assurer que les matricielles et les MFC ( si il y en a ) sont correctement montées, la partie en code Vba peut aussi être accélérée avec des commandes simples, désactivation pendant l'exécution de l'affichage écran, du calcul automatique, du recalcul des MFC, suppression des sélections, traitements par tableaux VB.
La taille du fichier peut aussi être due à d'autres facteurs et n'a pas forcément un rapport direct avec les MFC et les matricielles.
Mais sans un fichier de test anonymisé et sans le code Vba lui même, cela va être dur de déterminer les meilleures options.

Bien cordialement, @+
 
Dernière édition:

Discussions similaires

Réponses
3
Affichages
415

Statistiques des forums

Discussions
311 720
Messages
2 081 915
Membres
101 838
dernier inscrit
Christelle.B86