|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Invité de passage
![]() Ludovic Etudiant géologue (M2) Inscription : octobre 2011 Messages : 36 ![]() |
Bonjour,
Je suis en M2 Géosciences et je dois réaliser un programme avec des notions vues en cours. Mais là mon programme bug sans que je ne sache pourquoi... En faite j'ai plusieurs commandbutton. Dans un "commandbutton" j'ai fait des calculs de moyenne, ecart-type, variance... et ça marche très bien. Mais quand dans un autre "commandbutton" je désire utiliser ces valeurs pour faire un graphe avec une droite de régression il me met une erreur "dépassement de capacité", et quand je veux printer dans ce button une des valeurs calculées précedemment il ne print rien... Du coup j'ai refait mon programme en y incluant un module où je rends toutes ces valeurs publiques mais rien à faire ça ne marche toujours pas !!! Cela pourrait venir de quoi ? Merci |
|
|
00
|
|
|
#2 |
![]() ![]() |
Bonjour
De la qualité de ma boule de cristal. On fait comment pour deviner le problème sans code, message d'erreur, etc. ? Et merci de mettre un titre plus adéquat avec la question, celui-ci est trop généraliste et ne cerne pas le problème. De plus le mot Help est inutile, on s'en doute. Philippe
__________________
Détaillez vos questions, sinon vous aurez des réponses erronées et vous irez tout droit dans le et lisez les règles sinon ![]() Si vous pensez commencer sans un livre, oublier : livres pour débuter Vous pouvez consulter mes articles sur Access et PowerPoint Le blog Office. Inutile de m'envoyer un MP pour des questions techniques ou de me relancer , je n'y répondrais pas. |
|
|
00
|
|
|
#3 | ||
|
Invité de passage
![]() Ludovic Etudiant géologue (M2) Inscription : octobre 2011 Messages : 36 ![]() |
Le problème c'est que mon code est un peu long...
Code :
|
||
|
|
00
|
|
|
#4 |
|
Membre Expert
![]() Sebastien LIngénieur Financier Inscription : mars 2010 Messages : 880 ![]() |
Déjà premier réflexe, tu rajoutes au début de chaque module de code
Comme ça tu seras obligé de déclarer des variables et de t'interroger sur le fait que telle ou telle procédure y ait accès. Ensuite quand tu parles de variables globales, je ne les vois pas dans ton code. (Je ne l'ai pas trop regardé car comme tu dis, il est très long. Je pense que ça aurait pu être beaucoup plus clair en utilisant des sous-procédures ou sous-fonctions). Et pour info, il me semble que les variables globales ne marchent pas trop si elles sont placées sur le code d'une feuille et non d'un module. Pour ce qui est du dépassement de capacité, tu déclares toutes tes variables en Integer. Des moyennes, ecart-types et autres sont souvent plutôt des nombres réels et peuvent être supérieurs à la valeur maximale contenu dans un entier (37000 et quelques je crois). Essaie avec des Single ou des Double |
|
|
00
|
|
|
#5 |
|
Expert Confirmé
![]() Inscription : août 2006 Messages : 3 195 ![]() |
Kie,
Oh le vilain code ! (pris au sens : très mal conçu)
__________________
Il court en ce moment une espèce de grippe, mais elle ne court pas très vite, car on peut l'attraper sans courir. |
|
|
00
|
|
|
#6 |
|
Invité de passage
![]() Ludovic Etudiant géologue (M2) Inscription : octobre 2011 Messages : 36 ![]() |
Tout d'abord merci de ta réponse.
J'ai effectivement essayé de replacer le Integer par Long et du coup ça me supprime mon problème de dépassement de capacité... Mais j'ai toujours le problème que le logiciel ne mémorise pas mes calculs de moyenne, variance... du commandbutton précédent... Je suis entièrement d'accord avec toi mais je suis pas du tout dans l'informatique donc j'ai pas forcément pris les meilleures habitudes lol |
|
|
00
|
|
|
#7 |
|
Membre Expert
![]() Sebastien LIngénieur Financier Inscription : mars 2010 Messages : 880 ![]() |
En passant sur des Long, ça reste des entiers, donc il doit y avoir des arrondis quelque part.
Sinon tu dis que tu as essayé avec des variables globales, lesquels et tu les as mises ou ? |
|
|
00
|
|
|
#8 |
|
Invité de passage
![]() Ludovic Etudiant géologue (M2) Inscription : octobre 2011 Messages : 36 ![]() |
Qu'entends tu par variables globales ?
|
|
|
00
|
|
|
#9 | ||||||
|
Membre Expert
![]() Sebastien LIngénieur Financier Inscription : mars 2010 Messages : 880 ![]() |
J'ai regardé un peu ton code quand même.
Pour ton bouton Command1, sache qu'il existe déjà dans Excel des fonctions pour calculer la moyenne et l'écart-type, mais ce n'était sans doute pas le but de ton exercice. En revanche, tu pouvais créer une fonction moyenne Code :
Code :
Ensuite dans le code de ton deuxième bouton, tu peux tout enlever jusqu'à la ligne 287, je ne sais pas pourquoi tu l'as recopié. Par contre, il aurait mieux valu placer ces codes dans la procédure d'un module, appelé par le bouton. Et déclarer en Public les variables que tu réutilises au début du module (en dehors de la procédure). Code :
|
||||||
|
|
00
|
|
|
#10 |
|
Invité de passage
![]() Ludovic Etudiant géologue (M2) Inscription : octobre 2011 Messages : 36 ![]() |
En faite en cours on nous a appris à faire des calculs avec le moins de d'instructions possibles...mon programme dans l'ensemble, même si je peux comprendre que ça puisse choquer un puriste, il est comme il voudrais qu'on le lui rende (mon prof). Ce que je cherche juste à savoir c'est comment je peux dans mon second bouton, utiliser les moyennes et variances calculées dans le premier bouton ? Parceque là quand je demande au logiciel de me printer une des moyennes calculées il me dit "La moyenne de ... vaut 0"...
|
|
|
00
|
|
|
#11 |
|
Membre Expert
![]() Sebastien LIngénieur Financier Inscription : mars 2010 Messages : 880 ![]() |
Regarde la dernière partie de mon message dans ce cas, et reviens-moi s'il y a quelque chose que tu n'as pas compris.
|
|
|
00
|
|
|
#12 | |||
|
Invité de passage
![]() Ludovic Etudiant géologue (M2) Inscription : octobre 2011 Messages : 36 ![]() |
Citation:
Voici ce que j'ai dans mon module: Code :
|
|||
|
|
00
|
|
|
#13 | ||||
|
Membre Expert
![]() Sebastien LIngénieur Financier Inscription : mars 2010 Messages : 880 ![]() |
Pour le message initial, voici un exemple pour toi LudOL56 :
(Par contre, j'ai du mal à comprendre comment ton code actuel fonctionnait correctement, par endroit, ça ressemble à d'autres langages que du VBA) Dans ta feuille tu mets Code :
Code :
|
||||
|
|
00
|
Copyright © 2000-2012 - www.developpez.com