XL 2019 VBA - Mémoire insuffisante, limite du nombre d'objets par userform ?

YabbyBen

XLDnaute Nouveau
Bonjour à tous,

Et d'avance un tout grand merci pour votre aide.

J'ai créé un userform VBA qui fonctionne très bien. Je souhaite faire évoluer ce userform en augmentant le nombre d'objets (zone texte, liste déroulantes,...). Et c'est là que ça coince ! à partir d'un certain nombre d'objet j'ai ce message d'erreur "Mémoire insuffisante" qui apparait dans une fenêtre.

J'ai testé le userform sans code, et le problème est le même.
Aussi tôt que je supprime l'objet en trop ça fonctionne. Assi tôt que je le rajoute, j'ai ce message d'erreur. Que ce soit un titre, une liste déroulante, une zone texte,... le problème est le même.

Du coup je m'interroge: existe-t-il une limite du nombre d'objet dans un userform ? Dans mon cas, je n'ai aucun intérêt à diviser mon projet en plusieurs userform.

Un immense merci pour votre aide
 

YabbyBen

XLDnaute Nouveau
Bonjour,
merci pour vos réponses !
En effet, j'ai essayé sur un PC avec plus de mémoire et je n'ai pas ce message d'erreur.
J'ai actuellement +- 750 objets. Et j'aimerais plus au final +- 1300.

Du coup, à part faire plusieurs userform je ne vois pas d'autre solution ? 😩
 

Phil69970

XLDnaute Barbatruc
Re

Juste un rappel ici :
Les UserForm (USF) servent à créer des boîtes de dialogue personnalisées. Vous pouvez y ajouter des contrôles afin de mettre en place une Interface utilisateur adaptée à votre projet. Il sera ainsi possible d'effectuer des saisies depuis ce support préformaté ou y visualiser des informations très diversifiées (Textes, données numériques, images, vidéos...)

Donc en gros c'est juste une interface visuel de tout ou partie de la/les BDD qu'il y a derrière puisque les USF ne stockent rien.

c'est un userform qui évolue depuis plus de 2 ans.
Je pense aussi que ta/tes BDD évoluent depuis 2 ans o_O donc je maintiens et réitère .

Je sens l'erreur de conception pas très loin....:oops:

J'imagine que ta/tes BDD n'ont pas que 10 lignes et 10 colonnes....
Pour info que fait ton programme, but, finalité .....(Combien de lignes/colonnes as tu ?)

Es tu sur d'avoir pris le bon logiciel.
Es tu sur d'avoir bien réfléchi à la structure de ta/tes BDD ?

Normalement à la création on réfléchit au cahier des charge à ce que l'on veut faire, pourquoi, but et moyen, ordre de grandeur de la/les BDD etc....
Et après on construit le programme avec le dit cahier des charges.....

En général si le cahier des charges a été fait correctement il est rare voir très rare de modifier la/les BDD ainsi que USF après coup .
Et pour moi un USF en constante évolution est l'exemple même qu'il y a eu un manque de réflexion quelque part.
Peux tu mettre le fichier sur le site ou un extrait représentatif que l'on puisse voir si on peut le rationaliser.

Bonne lecture

@Phil69970
.
 

dysorthographie

XLDnaute Accro
Bonjour,
si ta base de donné contenait 1048576 ligne et 10 colonnes combien y aurait il d'objets sur ton formulaire?

en revanche tu peux nous fournir un fichier d'exemple avec des données bidonnées pour nous permettre de comprendre et de pouvoir t'aider! car en l'état c'est plus un vision d'horreur qui nous vient à l'esprit!
 

YabbyBen

XLDnaute Nouveau
bonjour,

merci une nouvelle fois pour votre aide.

c'est en effet un projet qui a évolué rapidement et sans cahier des charges et réelle étude en amont.

Publier le fichier m'embête pour des raisons confidentielles. Et formater le fichier pour le publier me prendrait beaucoup de temps.

En revanche, suite à vos messages, j'ai découpé le projet en 2 userform. Au lieu d'ajouter de nouveaux onglets dans le "premier" userform, je créé de nouveaux userform. Et mon problème est résolu. Plus de problème de mémoire.
Visiblement je ne vois pas d'autre solution.

Pour ma part, cette solution me convient.

merci à tous et bonne soirée
 

Phil69970

XLDnaute Barbatruc
Re

Et on peut avoir les réponses

Pour info que fait ton programme, but, finalité .....(Combien de lignes/colonnes as tu ?)

Et quand tu seras bloqué tu rediviseras 🤣
Et si tu transfères le fichier sur un autre ordi qui a moins de mémoire que fais tu ?

On t'explique depuis le début que c'est la conception même du fichier qui est à revoir et c'est pour ça qu'une vu sur le dit fichier nous permettrait de comprendre et surement de le rationaliser.
Maintenant si tu trouves que c'est bien comme ça tu risques malheureusement de déchanter un jour ou l'autre car le fichier se plantera complétement c'est juste une question de temps et il joue contre toi.

@Phil69970
 

dysorthographie

XLDnaute Accro
ton UserForm doit contenir les contrôles pour les 13000 lignes de ton fichier Excel?

le contenu chaque ligne ne peut pas être modélisé pour que ton UserFome ne gère qu'une ligne à la fois et passe à la ligne suivante!

peux tu au moins nous expliquer ce qui justifie cette folie de 13000 objets?

pour pouvoir t'aider il nous faut comprendre les tenant et les aboutissant ce que tu décris est tout simplement inimaginable pour nous!

comment je fais j'ouvre mon formulaire, j'écris pendant plusieurs jours, car 13000 contrôles ça ne ce fait pas en un jours!

comment veux tu qu'on puisse imaginer un tel traitement!
 
Dernière édition:

patricktoulon

XLDnaute Barbatruc
re
bonsoir
1300 controls!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
non mais ca va pas la tète !!!!😅😂😂
c'est simple pour moi c'est un problème de conception et rien de plus
ton projet évolue depuis deux ans !!!,et bien ta conception doit suivre c'est tout
sérieux mais c'est quoi ces 1300 controls
il y a quelque temps déjà une demande exactement pareille avait été faite il s'agissait de 250 controls
et même là j'avais dis la même chose
ABSURDE ;)
 

Discussions similaires

Statistiques des forums

Discussions
302 236
Messages
2 001 685
Membres
215 256
dernier inscrit
Adso