Graphique nuage de points - VBA

knaekes

XLDnaute Occasionnel
Bonjour,

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.

Comment corriger ces 2 points?

Merci pour votre aide.

Ci-joint le fichier
 

Pièces jointes

  • Nuages de Point VBA - Copie.xlsm
    17.4 KB · Affichages: 92

knaekes

XLDnaute Occasionnel
Re : Graphique nuage de points - VBA

Bonjour,

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.

Cordialement
 

knaekes

XLDnaute Occasionnel
Re : Graphique nuage de points - VBA

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

Bonne journée
 

Dranreb

XLDnaute Barbatruc
Re : Graphique nuage de points - VBA

Bonjour
pour optimiser la rapidité d'exécution
...ce que je vous propose est probablement la meilleure solution.
avec un nombre de date fixe.
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.
À +
 

knaekes

XLDnaute Occasionnel
Re : Graphique nuage de points - VBA

Bonjour,

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)

Merci et bonne après midi
 

Dranreb

XLDnaute Barbatruc
Re : Graphique nuage de points - VBA

Bonjour
Par contre le fichier semble ne pas fonctionner lorsque par exemple je filtre les colonnes du tableau sources. D'oû provient l'erreur?
Chez moi ça marche. En filtrant les F1 je n'ai que les F1 dans la plage Nommée "Filtré" après clic sur votre bouton "Bouton 1"
et se seront donc des milliers de lignes à retranscrire.
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 !
À +
 
Dernière édition:

Discussions similaires

Statistiques des forums

Discussions
312 084
Messages
2 085 194
Membres
102 810
dernier inscrit
mohammedaminelahbali