problème lancement userform à partir listbox

OUIZEMANN

XLDnaute Junior
Bonjour à toutes et tous,

Je vous souhaite tout d'abord une excellente année 2019 !

J'ai besoin de votre aide pour solutionner une problématique que je n'arrives pas à résoudre (cela fait 4 jours que suis dessus).

J'ai trouvé sur le net un fichier qui répond à mes attentes.

Lors du lancement de l'userform1, il est prévu d'ouvrir l'userform4 lorsqu'on clique sur la sélection de la listbox.

Cela fonctionne très bien dès lors qu'on ne dépasse pas environ 150 lignes. En effet, dès lors que je dépasse ce nombre de lignes, l'userform4 ne se lance pas.

Hors, ma base de donnée comprend près de 450 à 500 lignes.

Les macros me semblent assez complexes (il y également un "module de classe" et des tag, cela provient-il de là ?).

Je vous adresse le fichier en pj.

Merci à vous.
 

Pièces jointes

  • BDD_Pb_lancement_userform4.xlsm
    169.4 KB · Affichages: 38

cathodique

XLDnaute Barbatruc
Lors du lancement de l'userform1, il est prévu d'ouvrir l'userform4 lorsqu'on clique sur la sélection de la listbox.
Cela fonctionne très bien dès lors qu'on ne dépasse pas environ 150 lignes. En effet, dès lors que je dépasse ce nombre de lignes, l'userform4 ne se lance pas.
Hors, ma base de donnée comprend près de 450 à 500 lignes.
Bonsoir,
Tu nous dis que ton userform1 fonctionne très bien. Or ce n'est pas ce que j'ai constaté. Aucun objet n'est alimenté et encore moins la listbox.
Tu as trouvé le fichier sur le net. Tu devrais essayer d'avoir de l'aide du concepteur du fichier.
A mon avis, le problème ne vient pas du nombre de lignes mais du nombre de colonnes.
Si tu utilises la méthode Add pour alimenter la listbox, cette méthode n'est pas adaptée à ton cas car elle est limitée à 10 colonnes.
Il faut alimenter la listbox via un tableau du genre Lisbox1.list= tb
avec Tb = Feuil2.Range("A2:O" & .Range("A65536").End(xlUp).Row).Value

Ton fichier est bien avancé, et toute sincérité, je n'ai pas ni le temps ni toutes les compétences pour te venir en aide.

Bonne soirée.

ps: si au moins ton userform1 était alimenté à son ouverture.
 

OUIZEMANN

XLDnaute Junior
Bonjour,
Le fichier fonctionne très bien dès lors qu'il y a moins d'une centaine de ligne environ. Celui que j'avais envoyé comprenait 500 lignes.
Si tu as le temps de jeter un œil tu pourras constater que le userform4 s'ouvre bien (je te le renvoi avec 120 lignes en pièce jointe).
Après avoir fait de nombreux tests, il s'agit bien d'un problème de lignes et non de colonnes.
C'est un fichier que j'ai retrouvé dans mes archives, et je n'ai malheureusement pas retrouvé son créateur.
Je n'ai pas réussi à intégrer ta proposition.
Merci à toi pour le temps passé à tenter de résoudre ma problématique.
 

Pièces jointes

  • BDD_Pb_lancement_userform4 (2).xlsm
    146.5 KB · Affichages: 21

cathodique

XLDnaute Barbatruc
Bonsoir,

Comme je te l'avais dit dans mon précédent post, ton fichier est très fourni en code en non commenté.
Tu utilises un module de class pour gérer plein de chose et entre autre les contrôles des useforms.
Désolé mais je n'ai ni le temps, ni toutes les compétences requises pour te venir en aide.
Trop compliqué pour moi.

Bonne continuation.
 

herve62

XLDnaute Barbatruc
Supporter XLD
Bonsoir
Ouh là la !! T'as intérêt à super maîtriser le VBA , car c'est de la haute voltige , en effet les modules de classe gérent et paramètrent plusieurs objets comme ici tes USF . Cela doit provenir d'un projet industriel , j'ai eu un cas ( encore plus complexe) à améliorer il y qq années , j'ai renoncé car personne ici ne pouvait m'aider
Sinon pour que l'on teste , explique le fonctionnement , détaille les opérations que tu effectues ex :
1) clic "acces prog"
2) usf base ( le usf2)> ouvrir
3) usf base ( mais là c'est le 3 ??) se lance
Ensuite ??
Montre que cela fonctionne avec 100 lignes , ensuite en trackant on pourrait peu être trouver
en testant j'ai pu arriver à l'image , mais en 2 fois : base > usf3 : j'ai liste , je clique sur 420 > active et là je reviens à usf base ??
je fais ouvrir et là j'ai comme l'image ???
 

Pièces jointes

  • liste400.jpg
    liste400.jpg
    63.9 KB · Affichages: 13

OUIZEMANN

XLDnaute Junior
Bonsoir Hervé,
Merci pour ton intérêt à ma problématique.
Effectivement, c'est du lourd comme tu dis.
J'ai réussi quand même à l'adapter à mes besoins (ajout de textbox et combobox), mais au delà cela dépasse mes petites compétences.
De plus impossible d'ajouter des boutons car sinon çà bug car j'ai l'impression que tout est régi par le module de class et les "tag".
Je t'envoies le fichier en expliquant point par point ce que je souhaites faire et comment je lance l'userform4. J'espère que cela pourra t'aider à comprendre l'origine du problème.
Tu verras que si tu ajoutes beaucoup de lignes (j'ai besoin de 450 lignes au moins), l'userform4 ne fonctionne plus.
Merci encore.
Bonne soirée.
 

Pièces jointes

  • BDD_Pb_lancement_userform4 (2).xlsm
    239.4 KB · Affichages: 17

cathodique

XLDnaute Barbatruc
Bonsoir Ouizmann:), Herve62;),

Comme te l'a précisé notre ami herve62, c'est du code lourd.
Dans ton fichier tu nous explique le processus d'affichage des userforms.
Par contre, tu n'expliques pas ce que tu veux obtenir.
C-à-d les tenants et les aboutissants de ton fichier.
A mon avis, lorsqu'on n'arrive pas à comprendre un code.
Il est préférable de faire le sien même avec de l'aide que de ramer indéfiniment.
A toi de voir, es-tu obligé de garder ce module de class qui gère presque tout.
un code simple et bien documenté est plus facile à adapter et déboguer.

Encore une fois, je te souhaite bon courage.;)
 

herve62

XLDnaute Barbatruc
Supporter XLD
Bonjour tous , OUIZMAN, Cathodique
J'a encore fait des essais , dont celui de lancer uf4 partir de usf1 bouton "nouveau"
et déjà là , il s'ouvre mais plus de contrôle car il y a un jeu de paramètres entre usf
comme je l'ai dit avec le module de classe
Donc pour lancer correctement usf4 il faut connaitre la condition
c'est pour cela qui si l'on connaissait le diagramme fonctionnel ce serait plus simple
Mais comme le dit Cathodique ce serait mieux de rebâtir un fichier , puisque tu connais le VBA
et si tu bloques , il y aura toujours de l'aide ici pour aboutir
Bon courage
PS : notre ami d'ici JB explique très bien , va sur son site > Classe(vba)> module de classe
le lien est en bas des post de Cathodique
 

Discussions similaires

Statistiques des forums

Discussions
312 095
Messages
2 085 252
Membres
102 837
dernier inscrit
CRETE