je souhaite créer un graphique type nuage de points à partir de données non stockées dans les cellules des feuilles excel.
En utilisant l'enregistreur de macro, je parviens à créer un graphique. Cependant:
1. les données en abcisse ne correspondent pas aux dates voulues.
2. le report sur l'axe des abscisses n'est pas proportionnel.
Merci pour cette redéfinition du tableau. Mais mon problème demeure, je n'arrive pas utiliser ces données. C'est à dire adapter les lignes figurant en-dessous du code écrit en commentaire dans le fichier excel.
Merci pour cette proposition (j'en ai appris de nvlles formule excel). Je ne sais pas si je l'ai correctement saisie, mais celle-ci semble supposer la préparation d'un tableau intermédiaire avec un nombre de date fixe. Or dans mon cas cette donnée est variables (en fonction des lignes filtrées). De plus mon tableau comporte en réalite plusieur milliers de lignes. C'est pourquoi pour optimiser la rapiditée d'execution de la macro je souhaite passer par un tableau de variables et ne pas afficher de tableau intermédiaire.
Je me permets de faire à nouveau référence à mon message du 21.11.2011 de 10:39
Non. Le nombre de lignes du tableau nommé "Séries" est ajustée automatiquement, avec une sécurité veillant à ce qu'il en reste toujours au moins 2. Il en va de même du premier nommé "Filtré". Ces deux tableaux pourraient être mis dans une autre feuille si vous préférez.
À +
En effet ces tableau pourraient êtres placés dans une autre feuille (bien que mon fichier en possède déjà un grand nombre), et se seront donc des milliers de lignes à retranscrire.
Par contre le fichier semble ne pas fonctionner lorsque par exemple je filtre les colonnes du tableau sources. D'oû provient l'erreur?
J'ai bien compris que la solution que tu proposes passe obligatoirement par 2 tableaux intermediaires qui devront physiquement figurer dans le classeur excel. Mais (sans vouloir être insistant) n'existe-il pas un moyen de sans passer outre et de tracer le graphique à partir du tableau de variable (voir tentative fichier joint le 21.11.2011 de 10:39)
Oui mais en 3 ou 4 requêtes Excel seulement :
1) - Un Insert ou un Delete dans "Filtré" si ce n'est plus le même nombre de lignes,
2) - Une affectation d'un tableau de variant à la plage "Filtré"
3) - Un Copy d'une ligne de "Séries" Oups ! Là il y a peut être une erreur, voir plus bas
4) - Un Insert ou un Delete dans "Séries" si ce n'est plus le même nombre de lignes.
Remplacez comme suit la fin de la procédure:
VB:
If LDif > 0 Then
.Rows(2).EntireRow.Copy
.Rows(2).Resize(LDif).EntireRow.Insert xlShiftDown
ElseIf LDif < 0 Then
.Rows(2).Resize(-LDif).EntireRow.Delete xlShiftUp
End If
End With
Pensez à bien mettre les noms qu'il faut aux plages concernées dans votre vrai fichier,
et arrêtez de vous obstiner à vouloir le faire autrement, c'est absurde !
À +