Temps de calcul enorme

bennisay

XLDnaute Occasionnel
BONJOUR
J ai un probleme de temps de calcul que excel prend pour executer des formules
pour bien expliquer : j ai développé une application de gestion commercial sous excel contenant bcp de formules ainsi des macros pour formulaire de saisie mais a la fin quand j ai importe les donnes sur ma nouvelle applict j ai ete choque par le temps que prend excel pour enregistrer un nouveau bon de livraison chose qu il n a pas fait avant que l application ne soit alimente par tous ces donnes .
MA question c est: es qu il y a une méthode que je peux suivre pour ne pas avoir ce temps enorme que excel prend pour calculer ? sans passer par la notion calcule manuel car cet option va bloquer bcp de donnes que je dois impérativement voir lors de ma saisie .

ET merci
 

bennisay

XLDnaute Occasionnel
Re : Temps de calcul enorme

BONJOUR
STAPLE1600 et tt le monde
Je crois avoir trouver la source de mon probleme le lentement de mon applict
Vous Trouverez ci joint un fichier qui montre le probleme que j ai eu lors de la saisie du bon livraison
pour éclaircir l image ; des que j insert les fromules (somme.si.ens) dans la feuille GESTION (avec quoi je cummule les ventes des articles), et j ai un nombre eleve de lignes dans la feuille LISTE LIVRAISON je dois attendre presque 19 secnd pour executer la macro d enregistrement
Dans ce fichier le temps ne remonte pas a 19 seconds mais avec mon application il l atteins car ce fichier n est qu un teste pour monter le probleme
 

Pièces jointes

  • TESTER 1.xlsm
    226.9 KB · Affichages: 42
  • TESTER 1.xlsm
    226.9 KB · Affichages: 34
  • TESTER 1.xlsm
    226.9 KB · Affichages: 38

Dranreb

XLDnaute Barbatruc
Re : Temps de calcul enorme

Bonjour.

Peut être auriez vous intérêt à effectuer vos traitements non pas à l'aide de formules mais à l'aide de certains modules de services contenus dans OutIdx. Je pense notamment à la fonction GroupOrg dans MClassement. Ça aurait des chances d'être beaucoup plus rapide. Mais essayez de simplifier le classeur test. Ne mettre que les feuilles portant des modèles de données dont il faut partir et une autre pour ce à quoi il faut arriver. Là c'est trop touffu pour qu'on ait envie de s'y plonger.
 

Victor21

XLDnaute Barbatruc
Re : Temps de calcul enorme

Re,

Dans un premier temps, insérez en début de procédure : Application.ScreenUpdating = False et la même à True en fin, et dites-nous.
Je regarde votre fichier original, et transforme vos listes en tableaux. Je vous le ferai parvenir dès que.
 

Victor21

XLDnaute Barbatruc
Re : Temps de calcul enorme

Re,

Comme promis, votre fichier allégé :
- Transformation des bdd en tableaux
- Suppression des noms inutiles
- Suppression des formats inutiles
- Suppression des somme.si.ens inutiles, remplacés par des somme.si

Résultat : 184 Ko (il est vrai sans la page d'accueil)

Je n'ai pratiquement pas touché au code VBA (ce n'est pas vraiment ma spécialité...)
Chez moi, Le transfert du bon de livraison vers la liste est instantané.

Regardez et dites-nous, et voyez l'outIdx que vous propose Dranreb :)
 

Pièces jointes

  • 2_stockbennisay.xlsm
    183.6 KB · Affichages: 29

bennisay

XLDnaute Occasionnel
Re : Temps de calcul enorme

BONSOIR
VICTOR21
Je suis vraiment tres reconnaissant pour le travail que vous avez réalise
je vais tester tt les operations pour savoir que tt fonctionne parfaitement
et je vous aviserez s il y a des problemes
 

bennisay

XLDnaute Occasionnel
Re : Temps de calcul enorme

bonsoir
victor21
Quand je saisie un bon liv qui contient uniquement une seule reference dans la feuille liste je vois la reproduction du nom , date , n°bl sur tt les lignes meme s il n y a pas de saisie d autre reference
je vous montre l exemple dans le fichier
 

Pièces jointes

  • 2_stockbennisay(1).xlsm
    175.1 KB · Affichages: 27
  • 2_stockbennisay(1).xlsm
    175.1 KB · Affichages: 31
  • 2_stockbennisay(1).xlsm
    175.1 KB · Affichages: 28

Victor21

XLDnaute Barbatruc
Re : Temps de calcul enorme

Re,

En attendant de trouver une solution VBA, vous devez sélectionner les cellules vides de la colonne B du tableau Bon de livraison, puis clic droit, supprimer, lignes du tableau, puis cliquer sur le bouton "Enregistrer"
Attention : toujours garder une ligne dans les tableaux : cela garantit la recopie automatique des formules en cas d'ajout de lignes.
 

Victor21

XLDnaute Barbatruc
Re : Temps de calcul enorme

Re, re...

Un bricolage VBA en attendant les spécialistes des tableaux.
Il faudrait que la macro liée au bouton "enregistrer" remette le tableau bon de commande à zéro, (colonnes C,D et H) et supprime les lignes (sauf la première :) )
 

Pièces jointes

  • 2_stockbennisay(1).xlsm
    182.9 KB · Affichages: 31
  • 2_stockbennisay(1).xlsm
    182.9 KB · Affichages: 30
  • 2_stockbennisay(1).xlsm
    182.9 KB · Affichages: 35

Victor21

XLDnaute Barbatruc
Re : Temps de calcul enorme

Bonjour, bennisay.

Pas spécialiste du VBA, j'ai fait comme j'ai pu, et suis ouvert à toute critique.
- Le bouton Enregistrer recopie les données du BL dans "Liste", et réinitialise le BL.
- Le n° logiciel s'incrémente désormais à chaque BL.

Je n'ai pas trouvé (mal cherché ? ) sur le net la combine en VBA pour compter le nombre de lignes non vides dans un tableau : cette propriété -si elle existe- semble bien cachée !
J'ai donc maintenu un compteur en F1, masqué par le bouton "Enregistrer" :(
 

Pièces jointes

  • 3_stockbennisay.xlsm
    186.2 KB · Affichages: 24
  • 3_stockbennisay.xlsm
    186.2 KB · Affichages: 26
  • 3_stockbennisay.xlsm
    186.2 KB · Affichages: 27

bennisay

XLDnaute Occasionnel
Re : Temps de calcul enorme

BONJOUR
VICTOR21

Je ne sais comment vous remerciez.
Pour être honnête avec vous ,au depart j allai tt laisser tomber quand j ai eu ce probleme de lentement de mon application
je ne suis pas un pro d excel , j avais juste cette volonté de développer mon application avec mes propres mains
mais vous m avez bien aider a reprendre mon projet en main ;je vous remercie infiniment pour la patience que vous avez montrez

J ai inséré 10000 LIGNES dans la feuille "LISTE" et j ai saisie un bon de livraison . resultat tres bien presque deux secondes
Par contre en commençant les testes j ai trouve prob n° 1 comme suite dans le fichier . Entre ( ) je vais nomé mon application par votre non VICTORE21.
 

Pièces jointes

  • VICTOR21 G COMMERCIAL.xlsm
    174.7 KB · Affichages: 27

Victor21

XLDnaute Barbatruc
Re : Temps de calcul enorme

Re,

Nouveau fichier à tester.
- J'ai réaffecté la macro au bouton "Enregistrer", et ça semble fonctionner.
- Les formules dans "Stock" comportaient une erreur qui a été rectifiée .

Testez et dites-moi, mais...

...Je me sens bien seul sur le coup !
Les VBAistes, vous êtes tous partis vous bronzer ???
:)

PS : si vous devez revenir avec un fichier, joignez de préférence le dernier de ce fil :)
 

Pièces jointes

  • 3_stockbennisay.xlsm
    186.3 KB · Affichages: 37
  • 3_stockbennisay.xlsm
    186.3 KB · Affichages: 28
  • 3_stockbennisay.xlsm
    186.3 KB · Affichages: 25
Dernière édition:

bennisay

XLDnaute Occasionnel
Re : Temps de calcul enorme

BONSOIR VICTOR21
Il me semble que vous avez bcp donnez a mon application je vous remercie bcp

a propos du bon liv il fonctionne parfaitement mais je dois donc a chaque fois inserer des lignes quand j ai des bon de liv qui deppassent les 10 OU 15 references pourquoi pas avoir une liste de 30 lignes vides ?
 

bennisay

XLDnaute Occasionnel
Re : Temps de calcul enorme

RE

J ai un ptt probleme de decalage au niveau de la feuille "LISTEM"
je vous montre l exemple dans le fichier
 

Pièces jointes

  • 3_stockbennisay.xlsm
    174.5 KB · Affichages: 21
  • 3_stockbennisay.xlsm
    174.5 KB · Affichages: 21
  • 3_stockbennisay.xlsm
    174.5 KB · Affichages: 27

Discussions similaires

Réponses
1
Affichages
292

Membres actuellement en ligne

Statistiques des forums

Discussions
312 215
Messages
2 086 329
Membres
103 185
dernier inscrit
salhit