|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | ||
|
Invité de passage
![]() Inscription : août 2011 Messages : 2 ![]() |
Bonjour,
Une erreur 1004:" erreur définie par l'objet ou l'application" apparait à l'execution de ce code Code :
L'erreur apparait dès le set C1. Pourtant j'utilise la fonction newsseries le plus basiquement possible. Le plus bizarre c'est que ça marchait parfaitement jusqu'à hier. pourtant pas de changement qui puisse affecter quelquechose là dedans J'ai beau cherché et je ne vois d'où vient le problème. Merci de votre aide |
||
|
|
00
|
|
|
#2 | ||||
|
Expert Confirmé Sénior
![]() Inscription : juillet 2008 Messages : 5 848 ![]() |
J'ai testé ceci et ça fonctionne
Code :
Code :
__________________
Cordialement. |
||||
|
|
10
|
|
|
#3 | ||
|
Membre éclairé
![]() Inscription : juillet 2011 Messages : 141 ![]() |
Bonjour jeff202,
1. Ordre de définition de chaque série Bien que l'erreur 1004 n'a pas été reproduite, il aurait été intéressant de savoir exactement si c'est réellement sur la propriété Name, Values ou XValues de la série C1 que vous l'avez rencontrée, autrement dit il faut donner le n° de ligne de l'erreur. Pour cela il faut encadrez votre code dans votre message entre les deux balises suivantes : Le modérateur a inséré pour vous avant la première ligne la balise [code] et après la dernière ligne de code la balise [/code]Dans l'éditeur du forum, vous trouverez dans la barre d'outil le bouton "#" qui ajoute automatiquement ces deux balises si vous sélectionnez au préalable toutes les lignes de votre code dans votre message. Dans la solution proposée, on a préféré commencer la définition de la série par Values puis XValues et enfin Name. 2. Comportement différent hors débogueur Dans le débogueur en pas à pas dans essaichart1(), les deux courbes se dessinent parfaitement dans la limite indiquée entre 28 et 40 en abscisse. Symptôme Quand on exécute essaichart1() sans point d'arrêt, les coordonnées en abscisse et ordonnée sont énormes et la zone pour la courbe s'est considérablement réduite. Solution On a résolu le problème de facteur d'échelle en complétant le paramétrage du graphique. 3. Typer le Chart avant de définir ses séries Diagnostique plus détaillé La caractéristique de la série C1 est qu'elle est définie avant le type du Chart. Il vaut mieux définir d'abord le type de Chart puis déclarer les deux séries. Pour vous, vous n'avez pas besoin de la création du contexte de test, puisque vous l'avez déjà. Par contre pour le lecteur, cela aide dans la description du problème de préciser un jeu de test le plus simple possible : A partir d'un classeur vide, créer les deux feuilles suivantes : Feuille "Essai pivot1" : B3:B54 : nombres entiers entre 28 et 40. Feuille "Data": A2:A53 : idem dans un ordre différent que la feuille précédente. H2:H53 : idem. L'idéal étant de simplifier la maquette du problème : - une seule feuille - nombre de 1 à 52 grâce à la facilité d'Excel d'incrémenter la valeur de la cellule au-dessus avec Ctrl + Drag down, etc. Commencer la maquette toujours par : Option Explicit ' Commentaire Comme cela, le lecteur est sûr que les variables ont été déclarées. VBE menu "Insérer" > "Module". Code :
Dans la fenêtre d'Exécution immédiate (Ctrl+G) du VBE d'Excel, copier-coller et valider par ENTER : On obtient le graphique souhaité à chaque appel de la procédure ChartPivotData(). 4. Conclusion La création d'un Chart avec CharObjects.Add est extrêmement sensible à l'ordre des définitions ou à des optimisations via With ... End With. Une fois que vous aurez trouvé votre ordre de définition qui fonctionne, il faudra s'y tenir éventuellement en s'inspirant de l'ordre de définition donné par l'enregistreur de macro. Il faut également gérer l'effacement du graphique quand on n'en a plus besoin : voir ChartDelete(). Car en phase de développement, la multiplication de création des graphiques pour mise en point risque de faire exploser Excel et si on n'a pas sauvegardé, on perd tout. Le cycle de vie d'un Chart, au moins pendant le développement, est :
___________ Si la discussion est résolue, vous pouvez cliquer sur le bouton En bas de ce message s'il vous a apporté des éléments de réponse pertinents, pensez également à voter en cliquant sur le bouton vert ci-dessous.
|
||
|
|
00
|
Copyright © 2000-2012 - www.developpez.com