Limites Tableaux

Bonjour,

Je voudrais savoir si les limites des variables tableaux sont fixes, si elles dépendent de la mémoire du PC (et donc du PC qui l'utilise) ou si c'est variable ?

J'explique mon problème, j'utilise des fonctions tableaux pour gagner en temps d'exécution comme détaillé ici : https://www.excel-pratique.com/fr/vba/tableaux_vba

Mais le problème est que je passe de quelques dizaines de lignes à parfois quelques milliers maintenant. Je rencontre désormais une erreur :

image

Je voudrais donc séparer mon tableau en plusieurs sous tableau afin de gagner en temps d'exécution et de traiter 200 lignes par 200 lignes par exemple. Pour faire cela j'ai besoin de savoir comment est fixé cette limite pour savoir comment la retrouver et fixer une taille de tableau fonctionnel peut importe le cas.

Est-ce que si on n'utilise pas la fonction Erase, la mémoire alloué aux tableaux est gardé malgré la fin d'une sous-fonction ?

Bonjour,

Faut voir, mais à priori c'est sans intéret (sauf si vous travaillez en permanence sur plusieurs dizaines de milliers de lignes ou/et plusieurs milliers de colonnes mais pour les cas usuels c'est la déclaration qu'il faut revoir.

A+

La déclaration ? Comment cela ?

J'ai un nombre dynamique de lignes mais fixe en colonnes. Je définis mon tableau de la façon suivante :

Dim tb()
tb = Feuil1.Range("Tableau[Colonne1]")

Ce sont normalement que des nombres (allant jusqu'à quelques millions, "rarement" plus de 10M) à 3 chiffres après la virgule, sauf que bien sûr il y a des erreurs de saisies, des fois c'est en texte, des fois des virgules à la place des points, des fois des 100k, etc... (je le contrôle, transforme, manipule par la suite).

Comment puis-je faire pour ne pas excéder les limites ? Dans mon exemple au dessus de 400 lignes il y a une erreur.

Au pire met :

Dim tb 'sans parenthèse
tb = Feuil1.Range("Tableau[Colonne1]").Value

Mais il vaudrait mieux fournir ton classeur parce que ça c'est du codage "avec le pied !"

A+

Comment cela du codage avec le pied qu'est-ce qui pose problème ? Je ne comprend pas.

En quoi définir la variable en tant que Variant et plus en tableau dynamique réglerait le problème de limite ?

Définir une variable dans un type adapté à son utilisation est d'après moi le paradigme du développeur, peut importe le langage. Sinon on met des variants de partout et il y a plus de soucis.

Donc Non merci ;)

Bonjour,
Et si tu envisageais de travailler avec Power Query ?
CDlt.

Bonjour,

Je l'ai fait pendant un moment mais le temps d'actualisation était beaucoup trop long. En effet, je rajoute de la valeur à mes tableaux en calculant des champs supplémentaires et ce traitement dans PowerQuery prenait 13 fois plus de temps que par le VBA actuellement ce qui n'est pas négligeable à l'utilisation.

Rechercher des sujets similaires à "limites tableaux"