Verification de l'erreur
Fermé
messin57000
Messages postés
67
Date d'inscription
lundi 2 septembre 2013
Statut
Membre
Dernière intervention
9 décembre 2013
-
12 sept. 2013 à 16:55
messin57000 Messages postés 67 Date d'inscription lundi 2 septembre 2013 Statut Membre Dernière intervention 9 décembre 2013 - 16 sept. 2013 à 14:30
messin57000 Messages postés 67 Date d'inscription lundi 2 septembre 2013 Statut Membre Dernière intervention 9 décembre 2013 - 16 sept. 2013 à 14:30
A voir également:
- Verification de l'erreur
- Erreur 0x80070643 - Accueil - Windows
- Erreur 0x80070643 Windows 10 : comment résoudre le problème de la mise à jour KB5001716 - Accueil - Windows
- Erreur 1001 outlook - Accueil - Bureautique
- Vérification url - Guide
- Erreur 38 free ✓ - Forum Mobile
2 réponses
Zoul67
Messages postés
1959
Date d'inscription
lundi 3 mai 2010
Statut
Membre
Dernière intervention
30 janvier 2023
149
12 sept. 2013 à 17:10
12 sept. 2013 à 17:10
Bonjour,
Si ça prend beaucoup de temps, c'est que ça ne bloque pas :-/
Peut-être que ton code est à optimiser pour qu'il en prenne moins.
=> soit tu nous donnes tout le code, soit tu nous transmets le fichier via https://www.cjoint.com/
A+
Si ça prend beaucoup de temps, c'est que ça ne bloque pas :-/
Peut-être que ton code est à optimiser pour qu'il en prenne moins.
=> soit tu nous donnes tout le code, soit tu nous transmets le fichier via https://www.cjoint.com/
A+
messin57000
Messages postés
67
Date d'inscription
lundi 2 septembre 2013
Statut
Membre
Dernière intervention
9 décembre 2013
13 sept. 2013 à 09:20
13 sept. 2013 à 09:20
Voici mon fichier de travail
http://cjoint.com/13sp/CInjntgxlwP.htm
alors j'explique le but final de ce fichier et de la macro c'est d'avoir la ligne des valeurs(ligne 39 pour vitesse 100% , ligne 39+43i pour le reste des vitess) pour un débit donné avec les coefficient en brut, la macro exécute parfaitement l'operation et cree une ligne en dessous ou les coefficient sont en brut et sa donne par exemple
0,00106430206581446*N41 ^ 6 + -0,0162123797053831*N41 ^ 5 + 0,0893517601820511*N41 ^ 4 ...
J'ai deux probleme pour l'instant :
* Le premier ca prend beaucoup de temps pour s'executer
* Le deuxieme c'est que dans la formule en brut que j'obtient je dois la copier dans un autre fichier exploitable sauf que le terme de la cellule N41 ou autre pour une autre cellule change quand je copie colle les infos que je veut...
merci A+
http://cjoint.com/13sp/CInjntgxlwP.htm
alors j'explique le but final de ce fichier et de la macro c'est d'avoir la ligne des valeurs(ligne 39 pour vitesse 100% , ligne 39+43i pour le reste des vitess) pour un débit donné avec les coefficient en brut, la macro exécute parfaitement l'operation et cree une ligne en dessous ou les coefficient sont en brut et sa donne par exemple
0,00106430206581446*N41 ^ 6 + -0,0162123797053831*N41 ^ 5 + 0,0893517601820511*N41 ^ 4 ...
J'ai deux probleme pour l'instant :
* Le premier ca prend beaucoup de temps pour s'executer
* Le deuxieme c'est que dans la formule en brut que j'obtient je dois la copier dans un autre fichier exploitable sauf que le terme de la cellule N41 ou autre pour une autre cellule change quand je copie colle les infos que je veut...
merci A+
Zoul67
Messages postés
1959
Date d'inscription
lundi 3 mai 2010
Statut
Membre
Dernière intervention
30 janvier 2023
149
Modifié par Zoul67 le 13/09/2013 à 11:33
Modifié par Zoul67 le 13/09/2013 à 11:33
Je me souviens maintenant, avec les coefficients et les valeurs, tout ça, et les courbes qui ne se croisent pas...
Tu as toujours la solution de concaténer (c'était moi, mais je n'avais pas compris que tu voulais le résultat dans la case) et de rédiger des formules classiques dans ton tableau.
Sinon, pour accélérer le calcul :
- un truc simple c'est de définir la variable "case" case="N41" dans le premier cas, ça évite que la macro recalcule à chaque fois
- idem pour la multiplication de 43*(vitesse-1) et 24 + terme -1 à mettre chacun dans une variable (et à faire une fois par vitesse et une fois par terme ; attention aux imbrications)
De plus le With Worksheets() ne sert à rien.
Ceci fait, indique-nous si la vitesse d'exécution est toujours trop lente
Tu as toujours la solution de concaténer (c'était moi, mais je n'avais pas compris que tu voulais le résultat dans la case) et de rédiger des formules classiques dans ton tableau.
Sinon, pour accélérer le calcul :
- un truc simple c'est de définir la variable "case" case="N41" dans le premier cas, ça évite que la macro recalcule à chaque fois
- idem pour la multiplication de 43*(vitesse-1) et 24 + terme -1 à mettre chacun dans une variable (et à faire une fois par vitesse et une fois par terme ; attention aux imbrications)
De plus le With Worksheets() ne sert à rien.
Ceci fait, indique-nous si la vitesse d'exécution est toujours trop lente
messin57000
Messages postés
67
Date d'inscription
lundi 2 septembre 2013
Statut
Membre
Dernière intervention
9 décembre 2013
13 sept. 2013 à 11:40
13 sept. 2013 à 11:40
okai merci Zoul67 je vais essayer de mettre en application tous ca et je tiens au courant
messin57000
Messages postés
67
Date d'inscription
lundi 2 septembre 2013
Statut
Membre
Dernière intervention
9 décembre 2013
13 sept. 2013 à 11:42
13 sept. 2013 à 11:42
oui exactement pour le concatner j'avais pas préciser qu'il me fallait le résultat dans la case ...
messin57000
Messages postés
67
Date d'inscription
lundi 2 septembre 2013
Statut
Membre
Dernière intervention
9 décembre 2013
16 sept. 2013 à 09:19
16 sept. 2013 à 09:19
salut Zoul67
J'ai essayé d'appliquer ce que tu m'a conseiller sauf que j'ai pas réussi à bien introduire la variable et je vois pas l'integrer dans la boucle...
J'ai essayé d'appliquer ce que tu m'a conseiller sauf que j'ai pas réussi à bien introduire la variable et je vois pas l'integrer dans la boucle...
Zoul67
Messages postés
1959
Date d'inscription
lundi 3 mai 2010
Statut
Membre
Dernière intervention
30 janvier 2023
149
16 sept. 2013 à 10:46
16 sept. 2013 à 10:46
Salut messin57000,
En fait, ta macro s'appelait elle-même, c'est ça qui rendait l'exécution très longue... jusqu'à ce qu'une erreur apparaisse (dernière ligne : Call MAJsim_BB_New). Rien qu'en corrigeant ça, ça devrait aller, mais comme je ne l'ai vu que tardivement, j'ai aussi optimisé les variables calculées précédemment de nombreuses fois.
Code :
En fait, ta macro s'appelait elle-même, c'est ça qui rendait l'exécution très longue... jusqu'à ce qu'une erreur apparaisse (dernière ligne : Call MAJsim_BB_New). Rien qu'en corrigeant ça, ça devrait aller, mais comme je ne l'ai vu que tardivement, j'ai aussi optimisé les variables calculées précédemment de nombreuses fois.
Code :
Sub MAJsim_BB_New()
Dim wrksht As Object, graphique As Object, série As Object, shp As Object
Dim formule As Variant
Dim vitesse As Integer, terme As Integer
Dim case_n As String
Dim modulo_ligne As Integer, colonne_form As Integer
Application.ScreenUpdating = False
Application.Calculation = xlCalculationManual
For vitesse = 1 To 8 '8 : 100%, 90%, ..., mini
case_n = "*N" & (41 + 43 * (vitesse - 1))
modulo_ligne = 43 * (vitesse - 1)
For terme = 1 To 10 ' 10 : de I0 à N
colonne_form = 24 + terme - 1
formule = "=" & Cells(8 + modulo_ligne, colonne_form).Value & case_n & " ^ 6 + " & _
Cells(9 + modulo_ligne, colonne_form).Value & case_n & " ^ 5 + " & _
Cells(10 + modulo_ligne, colonne_form).Value & case_n & " ^ 4 + " & _
Cells(11 + modulo_ligne, colonne_form).Value & case_n & " ^ 3 + " & _
Cells(12 + modulo_ligne, colonne_form).Value & case_n & " ^ 2 + " & _
Cells(13 + modulo_ligne, colonne_form).Value & case_n & " ^ 1 + " & _
Cells(14 + modulo_ligne, colonne_form).Value
Cells(41 + modulo_ligne, 4 + terme - 1).FormulaLocal = formule
Next terme
For terme = 12 To 17 ' 10 : de I0 à N
colonne_form = 24 + terme - 1
formule = "=" & Cells(8 + modulo_ligne, colonne_form).Value & case_n & " ^ 6 + " & _
Cells(9 + modulo_ligne, colonne_form).Value & case_n & " ^ 5 + " & _
Cells(10 + modulo_ligne, colonne_form).Value & case_n & " ^ 4 + " & _
Cells(11 + modulo_ligne, colonne_form).Value & case_n & " ^ 3 + " & _
Cells(12 + modulo_ligne, colonne_form).Value & case_n & " ^ 2 + " & _
Cells(13 + modulo_ligne, colonne_form).Value & case_n & " ^ 1 + " & _
Cells(14 + modulo_ligne, colonne_form).Value
Cells(41 + modulo_ligne, 4 + terme - 1).FormulaLocal = formule
Next terme
Next vitesse
'REMPLACE LES FORMULES DES GRAPHIQUES PAR LEURS VALEURS
For Each graphique In Worksheets("BLACK-BOOK").ChartObjects
For Each série In graphique.Chart.SeriesCollection
série.Values = série.Values
série.XValues = série.XValues
série.Name = série.Name
Next série
Next graphique
Set graphique = Nothing
Set shp = Nothing
Worksheets("BLACK-BOOK").Activate
Application.Calculation = xlCalculationAutomatic
End Sub