Excel plante lors des calculs

  • Initiateur de la discussion Initiateur de la discussion Elvaiz
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

Elvaiz

XLDnaute Nouveau
Bonsoir à tous.
J’ai cherché s’il y’avait un problème similaire au mien de traité, mais je n’ai pas trouvé.
Je me permets d’ouvrir ce sujet.


Je suis sur Excel 2003 et j’ai un problème avec une formule.
La formule est en fait une méthode permettant la résolution de certaines équations (en trouvant la racine).
Je l’utilise afin de calculer la volatilité implicite des options. (dérivés actions).
Le premier problème est un problème mineur (en comparaison du second) : pour certains prix, Excel ne peut trouver de réponse et me donne « value ».
Par exemple, si je pose le prix d’une option à 6.15, il ne trouvera rien.
A 6.20 ou à 6.25, il trouve.
Je ne comprends pas pourquoi dans certains cas il est en mesure de réaliser le calcul et pas dans d’autres…

Le second problème est encore plus embêtant : je travaille sur plusieurs milliers de lignes.
Or, lorsque j’applique, en faisant glisser la formule, le long de la colonne, vient un moment où Excel plante carrément.
Du fait du nombre de calculs (sur certains fichiers, je dosi être dans les 12 000 lignes), je ne peux pas me permettre de faire glisser la formule 5 lignes par 5 lignes, avec sauvegarde entre chacune.
J’ai essayé le mode de calcul manuel, de façon à pouvoir appliquer la formule sur toute la colonne, puis lui demander d’exécuter (F9), mais plantage assuré également.

Je me demande s’il ne serait pas possible de lui demander de réaliser les calculs plus lentement ou en chaîne, de façon à éviter tout plantage.
Est-ce que ceci peut se faire via Excel même ou alors, faut il passer par VBA ?
Etant débutant en VBA, je ne sais pas comment agir, pour lancer via un bouton, le calcul lié à la fonction.
Avec éventuellement, une consigne afin qu'il fasse le calcul dans un certain délai (pas trop court, sinon, plantage).

Merci d’avance pour votre aide.



Elvaiz.
 
Re : Excel plante lors des calculs

Bonjour

sans précision, dur de répondre

l'erreur valeur peut être due à des formats qui ne seraient pas pris comme des nombres

il faudrait un petit exemple (quelques lignes avec un calcul en erreur, et ta formule)
 
Re : Excel plante lors des calculs

Bonjour Elvaiz et bienvenue, Eric_S 🙂,
Tu peux demander le calcul manuel avant de faire glisser, puis rétablir le calcul automatique. Tu peux aussi, sans aller de 5 lignes en 5 lignes, faire des paquets de 100 ou 200, et sauvegarder entre chaque, c'est sans doute ta mémoire vive qui est saturée. Et enfin, ce type d'opération peut être effectivement programmé en VBA, si tu as souvent ce type d'opération à faire.
Bon courage 😎
 
Re : Excel plante lors des calculs

Bonjour à tous et merci pour vos réponses.
Voici un fichier light avec la formule et la macro.
J'ai déjà tenté le calcul manuel, mais dès que je lance F9, pour l'exécution, plantage immédiat.
Merci à vous.

PS: Mon niveau en VBA est nullissime.
J'aurai souhaité automatiser certaines choses, voir, inclure un bouton afin de lancer les calculs dans un certain laps de temp, mais en raison de mon niveau....je n'y suis pas arrivé.
 
Re : Excel plante lors des calculs

Désolé, je pensais qu'il était en pièce jointe.
Le voici sur rapidshare
Si quelqu'un peut m'aider là dessus, il me rendrait alors un énorme service.
Merci à tous.


RapidShare: Easy Filehosting


En efet, c'est ma mémoire qui sature du fait de la complexité du calcul, car ma machine, sans être un top gun n'est pas asmathique.
Les paquets de 10 seraient trop long lorsqu'il y' a des centaines de milliers de lignes au total sur les fichiers que j'ai, avec certains qui ont 20 000 lignes par sheet .

De plus, sur certaines lignes, plantage immédiat, même si je fais glisser sur cette ligne là seulement.

Bref, je suis perdu et ce, ausi bien en mode auto qu'en mode manuel.
 
Re : Excel plante lors des calculs

Re 🙂,
Quelle usine à gaz, ça m'étonne pas que ça plante...
La solution la plus simple serait de remplacer la fonction par son résultat, du style
Code:
Sub Test1()
Dim Ligne
For Ligne = 5 To 11609
Cells(Ligne, 12) = Newton_Raphson_Call(Cells(Ligne, 1), Cells(Ligne, 7), Cells(Ligne, 2), _
    Cells(Ligne, 6), Cells(Ligne, 8))
Next Ligne
End Sub
maintenant, je l'ai testée, et bien sûr, les #VALEUR se transforme en bugs (Division sur 0 par VegaNRC), donc le mieux est que tu débugues les fonctions avant toute chose (j'ai rien compris à la base de calcul, et ça saute de fonctions en fonctions, mais tu sauras certainement ce que représente VegaNRC et pourquoi il est nul, et comment s'arranger pour qu'il ne le soit pas...
Un grand grand courage 😉.
Bon dimanche 😎
 
Re : Excel plante lors des calculs

Edit:

JNP, je te remercie mille fois.

J'ai essayé, mais cela ne donne pas, donc, je ne dois pas avoir réalisé la même manoeuvre qu etoi.
S'il te plait, pourrais tu uploader le fichier que tu as modifié, avec le code simplifié.
je verrais ensuite pour le VegaNRC ce qu eje peux faire.
VegaNRC c'est en fait la sensibilité de l'option en fonction de la volatilité.

Un grand merci à toi.
Merci à vous tous.
 
Dernière édition:
Re : Excel plante lors des calculs

Bonjour ElVaiz, JNP, Eric S,

J'ai ouvert le fichier qualifié "d'usine à gaz" par JNP, et je lui laisse ces propos. lol

Le VBA à ce niveau, je les laisse aux connaisseurs. En ce qui concerne les formules, il y a une simplification de formules que tu peux envisager.
En colonne D, tu as =((E5-C5-1)/365)*365, je ne vois pas pourquoi tu divises et ensuite tu multiplies, à moins que tu veuilles démontrer l'imprecision d'Excel dans les valeurs à virgules flottantes, tu peux donc la remplacer par =E5-C5-1.

@+Jean-Marie
 
Re : Excel plante lors des calculs

lol, en effet, ca commencais à m'enerver de ne pas pouvoir écrire une formule simple, alors, j'ai fait compliqué.
😀

Je dois dire que je me suis inscris sur ce forum en raison de ce fichier, et je commences à l'apprécier: merci pour votre gentilesse et votre disponibilité.
 
Re : Excel plante lors des calculs

Bonjour Jean-Marie, Elvaiz 🙂,
Ma qualification d'usine à gaz concernait les fonctions VBA imbriquées, dont j'ai rapidement perdu le fil en essayant de le suivre... Je te rassure Jean-Marie, j'ai rien compris 😛.
Désolé, je ne pourrai pas l'inclure dans ton fichier, il n'est plus téléchargeable, et en plus, il serait trop gros pour le forum... Mais je m'étais juste contenter de mettre la sub dans ton module, et de la déclencher avec F5. Tu devrais pouvoir le faire facilement.
Bon courage 😎
 
Re : Excel plante lors des calculs

Bonsoir à vous tous.

JNP, à quel endroit du module inclus tu le sub?
Est ce qu'il est complet dans la forme qu'il est présenté ci-dessus.
J'ai essayé de l'inclure, mais cela n'a rien donné.
Veux tu que je réupload un fichier ?

Au passage, vous allez rire : je me retrouve avec un fichier excel de 50 mégas et je n'ai pas fini dessus. je vais à coup sur en avoir pour 80/90 mégas avec celui là...
13184 lignes...plus du double si je n'avais pas décidé au final de séparer le mois d'avril du mois de mai.
Et ma machine qui souffre à chaque sauvegarde.

😱


Merci à vous tous pour votre aide.
Ca fait chaud au coeur.
🙂
 
Re : Excel plante lors des calculs

Re 🙂,
Dans n'importe quel module (hors modules de classe, ThisWorkBook, USF ou module de feuille), pouvu que ta feuille soit bien affichée. Sinon, tu peux modifier le code en spécifiant la feuille (je ne me rappelle plus de son nom...) comme ceci :
Code:
Sub Test1()
Dim Ligne
With Sheets("[B][COLOR=red]Feuil1[/COLOR][/B]")
For Ligne = 5 To 11609
.Cells(Ligne, 12) = Newton_Raphson_Call(.Cells(Ligne, 1), .Cells(Ligne, 7), .Cells(Ligne, 2), _
    .Cells(Ligne, 6), .Cells(Ligne, 8))
Next Ligne
End With
End Sub
Pour la taille du fichier, j'ai vu passer une VBA de nettoyage il n'y a pas longtemps, mais je ne me rappelle plus sur quel fil 😱.
Bon WE 😎
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Retour