Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

réduire le temps d'ouverture d'un fichier

S

sam

Guest
Salut,

J ai créer un fichier excel plein de macro et de données (4 méga). Une fois ouvert tout fonctionne bien, mais voilà c'est l'ouverture le problème, en effet il me faut environ 4 à 5 minutes pour ouvrir le fichier.
je cherche donc un moyen de raccourcir tout ça (mode de compression, codes...)

Hier Claudy m'a conseillée de d'utiliser des macro complémentaires, comment faire et pourquoi ?

Merci

Sam
 
C

claudy

Guest
Re...
Outils...Macro complémenaires...
tu décoches celle qui ne te serait pas utiles ...
Personnellement, je n'ai que l'utilitaire d'analyse et outils pour l'euro cochés.
As tu des formules matricielles ?
A+
Claudy
 
S

sam

Guest
j'ai décoché l'ensemble des macro complémentaires, le temps d'ouverture du fichier reste le même...
Pour ce qui est des formules matricielles j'en ai effectivement un grand nombre, cependant je peut difficilement m'en passer, comment faire?

merci... et au secour (plus personne ne veut utiliser mon application car son ouverture est trop longue!!!)

Sam
 
C

claudy

Guest
Rere
Je crois bien que ton prob vient des formules matricielles qui recalculent...
J'avais le même problême, et j'ai transformé mes formules matricielles en VBA, (EVALUATE) qui calculaient uniquement à la demande, via un bouton et une macro!
Bonne chance.
A+
claudy
 
S

sam

Guest
Comment faire pour remplacer toutes ces formules matricielles par des codes VBA, qu'entend tu par "EVALUATE"?

Désolées mes questions sont certainements basics mais je débute en VBA et ce Forum m'apprait comme une vraie mine d'or, n'ésitez pas à me dire si je suis en train d'abuser du filon...


Sam
 
C

claudy

Guest
re bonjour
ci joint un fichier test, où tu trouveras un exemple de calcul matriciel, avec et sans VBA et une fonction "normale".
A+
Claudy
 

Pièces jointes

  • Calcul_matriciel.xls
    28 KB · Affichages: 144
@

@+Thierry

Guest
Attend Sam !!!

Bonjour au fait...

Essaie de mettre Excel en mode de calcul manuel ...
Par Menu /Outils / Option => Onglet "Calcualtion"...

Ou en VBA Application.Calculation = xlManual

Si ce sont tes formules matricielles qui ralentissent l'ouverture tu seras fixé...

@+Thierry
 
S

sam

Guest
Salut Thierry,

où est-ce que je doit placer " Application.Calculation = xlManual", dans this workbooks?

J'ai un doute sur la culpabilitée des formules matricielles sur la lenteur du fichier à l'ouverture car j'ai un fichier quasi similaire, qui lui ne pose pas de problème, le nombre de macros y est moins important, en plus j'ai pu constater que le simple fait de créer une petite macro chargée d'ouvrir un autre fichier ralentissait lourdement son ouverture.

Ce type de macro peut-il être à l'origine de mes problèmes, comment faire pour les résoudres.


Sam
 
@

@+Thierry

Guest
Re Salut Sam

Pour la Macro de calculate oui tu peux la mettre dans le Private Module de ThisWorkBook :

Private Sub Workbook_Open()
Application.Calculation = xlManual
End Sub

Sans oublier alors de remettre en place en sortant...

Private Sub Workbook_BeforeClose(Cancel As Boolean)
Application.Calculation = xlAutomatic
End Sub

Mais disons que je disais d'essayer çà surtout pour faire un test simple avant de trafiquer toutes tes formules matricielles... Et que si il y avait un réél progrès dans la vitesse d'ouverture.... Que celà pourrait être une solution...

Par contre si tu décides de rester en xlManual... Ton fichier va un peu faire la gueule pour se mettre à jour... (Faudra Faire "F9" à chaque fois) ou bien mettre la macro de calcultation xlAutomatic ailleurs...

En ce qui concerne l'ouverture d'autre fichiers par macro "une petite macro chargée d'ouvrir un autre fichier" ... elle est dans le "Private Sub Workbook_Open" (j'imagine?)

Car là aussi c'est certain que çà ralentit, puisque tu ouvres deux fichiers au lieu d'un seul... Est-ce rééllement nécessaire que ce fichier s'ouvre systématiquement avec le premier ? Tu peux très bien l'ouvrir à un autre moment...

Tout ce que je peux dire c'est qu'une macro style :
Sub Ouvre()
Workbooks.Open "C:\WINNT\Profiles\te\Personal\LastLigne_LastColonne.xls"
End Sub

Ne ralentira en rien ton fichier, sauf si le fichier "LastLigne_LastColonne.xls" est un mastodonte aussi....ou bien que lui-même contient des macros d'ouvertures qui ouvrent d'autres fichiers, qui eux aussi contiennent des macros d'ouvertures qui ouvrent d'autres fichiers , qui ouvrent d'autres fichiers, qui ouvrent... (lol)

Bon voilà... Six mois plus tard le PC à planté !!
Bonne fin d'aprèm...
@+Thierry
 
P

paulo

Guest
vous pouvez ouvrir le fichier Excel , on créant un raccourci . Dans propriétés mettre avant le Nom du fichier les paramètre d'excel \automation qui annule l'ouverture des macro complémentaires.
 

Discussions similaires

Réponses
36
Affichages
2 K
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…