FullSeriesCollection mais en plus grand

Bonjour,

Je suis nouveau sur le forum et je vous remercie d'avance pour l'aide que vous allez m'apporter, enfin je l’espère .

Je me présente rapidement, je suis élève ingénieur à l'INSA en mécanique. Et malheureusement la programmation n'est pas mon fort, on a eu deux petites heures d'initiation à la programmation et je dois rendre un petit projet.

Ce n'est pas avec deux heures que l'on a pu apprendre correctement la progra, j'ai dû me renseigner pas mal sur internet et là je vous avoue que je suis bloqué. Notre prof nous a donné un sujet assez sympathique mais il traite un grand nombre de donnés. Et dans mon programme je dois faire un graphique à partir de liste.

Or j'imagine que mon problème est sur la fonction fullseriescollection, car elle ne prend pas toutes mes données, mon graphique est incomplet.

Je vous mets mon fichier ci-joint, dans classeur 1 j'écris mes valeurs dans des cellules et j'en fais un graphique.

Et dans classeur 2 je garde mes valeurs dans les listes et j'en fais un graphique.

Pouvez-vous me dire pourquoi cela ne va pas jusqu'au bout?

Si vous voulez mon sujet, je vous le donnerai volontiers en message privé mais je ne souhaite pas trop le divulguer.

Merci d'avance

PAUL Clément

sans titre
8classeur1.xlsm (23.49 Ko)
4classeur2.xlsm (22.49 Ko)

Bonjour,

désolé, mal lu la question. Je laisse quand même la fin de mon post.

Qu'est-ce que tu entends par pourquoi cela ne va pas jusqu'au bout?.

Pas de message d'erreur pour moi...

Par ailleurs tu n'as pas déclaré ni typé ces 2 tableaux qui se retrouvent Variant/Double.

Je te conseille de cocher 'Déclaration obligatoire des variables' dans 'Outils / Options...' de VBE (l'éditeur de VBA).

Un peu fastidieux au départ, mais d'une part ça te pousse à toutes les typer au mieux, mais surtout ça évite de passer des heures à chercher une erreur parce que tu t'es trompé d'un caractère dans le nom d'une variable.

eric

Désolé de ne pas avoir expliqué correctement.

Quand je dis que ça ne va pas jusqu'au bout, c'est que lors de la création du graphique, il ne prend pas toutes les valeurs de mes listes, il prend environ 20 000 valeurs au lieu d'en prendre 41 538.

Du coup le graphique n'est pas complet (mis en évidence sur l'image jointe)

Normalement on voit bien la différence entre les deux classeur joint précédemment et il ne devrait pas en y avoir.

J'ai corrigé mon erreur de déclaration de tableau et ça n'a rien changé.

Merci pour ton intérêt.

sans titre

Pour résumé ma question:

Le nombre de valeurs est limité à 450. Comment en avoir plus?

Le seul endroit trouvé où figure 450 maxi concerne la longueur de la chaine pour une déclaration dans un array(), ce qui n'est pas ton cas.

J'ai trouvé d'autres limites.

avec tes tableaux déclarés comme ça : ReDim Liste_2(Valeur) je trouve 16384 (2^14)

2019 11 01 15 18 38

En les déclarant avec des dimensions qui correspondraient à 1 colonne on arrive à monter à 32000, ce qui semble être le maximum en passant par des tableaux :

ReDim Liste_2(0 To Valeur, 1 To 1)
ReDim Liste_3(0 To Valeur, 1 To 1)
2019 11 01 15 26 47

Je n'ai rien trouvé sur le net concernant ces éventuelles limites...


Si ton but était uniquement un gain de temps tu peux en gagner beaucoup sur Classeur1 en collant tes résultats en une fois au lieu de cellule par cellule :

' avant
'For ii = 0 To (Valeur - 1)
'   Cells(ii + 1, 2) = Liste_2(ii)
'   Cells(ii + 1, 3) = Liste_3(ii)
'Next ii
' après
[B1].Resize(UBound(Liste_2)) = Application.Transpose(Liste_2)
[C1].Resize(UBound(Liste_3)) = Application.Transpose(Liste_3)

Je tombe à moins de 2s

NB : Transpose() est limité à 65536 lignes.

Si tu déclares tes tableaux avec 2 dimensions ie Liste_2(0 To Valeur, 1 To 1), plus de Transpose() à mettre et sa limitation

eric

Super Eric, merci, je suis passé par ta solution avec la fonction Transpose(). J'arrive à moins de 0.8s perso.

Tu m'as débloqué merci pour ton temps.

Rechercher des sujets similaires à "fullseriescollection grand"