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
Messieurs,
je comprends votre point de vue concernant la conception. N'étant pas informaticien mais autodidacte faisant de son mieux, je me réjouis d'avoir un userform qui fait son job.

Pour répondre à la question de Phil69970, oui ça fonctionne sur un PC ayant plus de mémoire.

voici une capture d'un onglet du userform. Cela me permet entre autre, d'actualiser des stocks. Sachant qu'une référence de stock est détaillée par un numéro d'article, un titre, une quantité, unité, fournisseur et sachant que le nombre d'article en stock est assez important, je me retrouve au final avec un userfrom qui déborde.
Mais encore une fois, dans ma situation, en divisant en plusieurs userform au lieu de plusieurs onglets, mon problème sera corrigé. Et à l'utilisation ça ne sera pas plus compliqué.

je suis conscient que le logiciel et/ou le développement au sens très large ne sont pas totalement appropriés aux besoins. Mais on fait ce qu'on peut :)

merci encore pour vos interactions
 

Pièces jointes

  • Capture.PNG
    Capture.PNG
    38.1 KB · Affichages: 37

Phil69970

XLDnaute Barbatruc
Re

C'est exactement ce que je m’apprêtais à écrire.
a quoi bon l'avoir fait cette demande ?
Tu es dans tes certitudes et tu viens demander de l'aide c'est forcement qu'au fond tu sais bien que ton fichier n'est pas viable et peut être même qu'il va planté un moment ou à un autre....o_O


J'ai dit exactement le contraire : ;)
Pour répondre à la question de Phil69970, oui ça fonctionne sur un PC ayant plus de mémoire.

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

Pose toi la bonne question :
Pourquoi 4 personnes du forum te dit que le fichier n'est pas viable ?
(@dysorthographie ,@JM27 ,@patricktoulon et moi)
Soit nous n'y connaissons rien.
Soit nous avons raison.

De toute manière il est évident que nous ne parviendrons pas à te convaincre donc moralité tu as fais un fichier parfait. 👽
Bonne chance

@Phil69970
 

JM27

XLDnaute Barbatruc
bonsoir
Je plussoie les répondeurs sur ce fil.
Pour moi un maxi de zone de saisie dans un userform est entre 30 et 50 .
quand j'étais en activité ,si j'avais des userform avec plus de zones de saisie , je me les aurais " pris dans la tronche " par les utilisateurs.
De plus quand je faisais des userform ayant un nombre important de zones de saisies , je prévoyais des "enregistrements" partiel , de manière à faire la saisie en plusieurs fois.
pour terminer , sans effort pour fournir un fichier anonymisé , j'ai du mal à comprendre que l'on puisse t'aider.
 

YabbyBen

XLDnaute Nouveau
bon vous ne me laissez pas le choix, j'ai donc créé un fichier pour vous expliquer 😀

Dans le fichier en exemple il n'y a qu'un onglet. Cet onglet ne contient que 3 ligne "article".
Dans mon fichier réel il y a 4 onglets. Chaque onglet contenant +- 80 lignes "article". Jusqu'ici ça fonctionnait très bien. Mais impossible d'ajouter de nouvelles lignes articles sans ce problème de mémoire. J'ai donc ajouté un nouveau Userform pour la nouvelle "fabrication" que je devais créer. Et là plus de problème de mémoire.

Le but du fichier est d'encoder une "fabrication" qui engendrera une MAJ des stocks et l'inscription d'un historique détaillant les articles utilisés (article + qté + fournisseur).
 

Pièces jointes

  • excel-downloads.xlsm
    96.8 KB · Affichages: 13

Dranreb

XLDnaute Barbatruc
Bonjour.
Conseil : Disposez vos fabrication dans l'autre sens, à raison d'une ligne par fabrication, voire une ligne par élément constitutif, quitte à en avoir plusieurs pour une même fabrication.
Et surtout, n'utilisez qu'un seul jeu de contrôles pour modifiez un seul élément à la fois.
Des ListBox permettraient des vues d'ensemble, avec possibilité, par sélection d'une ligne, de renvoi vers ce jeu de contrôles commun pour modification ou suppression.
 
Dernière édition:

Pollux032

XLDnaute Nouveau
Bonjour @YabbyBen ,
Je suis tombé par hasard sur cette publication.
À sa lecture et à la vue de l'extrait de la feuille, il y a visiblement une erreur de conception. Excel n'est probablement pas le meilleur choix : je te conseille d'utiliser Access.
Si tu le désires, je peux t'aider. (je te contacte directement)
 

Discussions similaires

Membres actuellement en ligne

Statistiques des forums

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