Message d'erreur !!! [Résolu]

Signaler
Messages postés
315
Date d'inscription
dimanche 27 novembre 2005
Statut
Membre
Dernière intervention
22 décembre 2014
-
Messages postés
315
Date d'inscription
dimanche 27 novembre 2005
Statut
Membre
Dernière intervention
22 décembre 2014
-
Débutant à la recherche de l'impossible... peut-être !!!

J'ai une feuille avec (vraiment) beaucoup de contrôles.
C'est en fait la feuille maîtresse de mon application.

Et le comble, je veux encore rajouter un contrôle...
Et un message apparaît :
"Limite atteinte : impossible de créer davantage de contrôles pour cette feuille"

Ce message ne m'arrange pas du tout !!!!
N'existe-t-il pas un paramétrage quelconque pour "gonfler" cela sous Visaul basic 6

Merci pour votre très précieuse aide (que cela existe ou pas, dites-le moi svp!)

jyd

12 réponses

Messages postés
15814
Date d'inscription
jeudi 8 août 2002
Statut
Modérateur
Dernière intervention
4 mars 2013
121
Tu veux dire que tu as plus de 254 contrôles sur ta form ?

Il doit y avoir un problème de conception :
Essaye de ne mettre des contrôles que pour ce qui est visible, n'afficher vraiment que ce qui est utile.
Pour faire une liste, utilise un ListBox, un ListView ou encore un SCGrid en lieu et place d'une ribambelle de textbox ou de label par exemple, etc.
Messages postés
7741
Date d'inscription
mercredi 1 septembre 2004
Statut
Membre
Dernière intervention
24 septembre 2014
37
Malgrés le fait d'avoir fait plusieurs programmes très complexes où toutes les fonctionalités devaient etre accessible depuis un seul écran, je n'ai jamais atteind cette limite.

Tu dois avoir un sacré problème de conception. Il va falloir reflechir à réorganiser ton programe

---- Sevyc64  (alias Casy) ----<hr size="2" width="100%" /># LE PARTAGE EST NOTRE FORCE #    http://aide-office-vba.monforum.com/index.php
Messages postés
3877
Date d'inscription
mardi 19 mars 2002
Statut
Membre
Dernière intervention
23 août 2018
18
Non, il y a bel et bien une limite du nombre de contrôles... rien n'est parfait...
Une grille remplace aisément des dizaines de textbox ...

MPi
Messages postés
15814
Date d'inscription
jeudi 8 août 2002
Statut
Modérateur
Dernière intervention
4 mars 2013
121
A ce moment là, ne mets sur ta form que des contrôles "basiques" dont tu te sers (label, textbox, button, etc) et charge-les et affiche-les uniquement selon l'onglet en cours.
Messages postés
7741
Date d'inscription
mercredi 1 septembre 2004
Statut
Membre
Dernière intervention
24 septembre 2014
37
Cette limite viens de la conception même de VB6.

Celui-ci gere en interne la collection de controle avec un index codé sur un Byte non signé (Eh oui VB connais les non signés mais en interne seulement).

Et donc un byte non signé peut prendre comme valeur max 255

Il n'est pas possible de modifier cette valeur, ça reviendrait à etre obligé de recompiler VB6

---- Sevyc64  (alias Casy) ----<hr size="2" width="100%" /># LE PARTAGE EST NOTRE FORCE #    http://aide-office-vba.monforum.com/index.php
Messages postés
4
Date d'inscription
jeudi 3 août 2006
Statut
Membre
Dernière intervention
1 août 2007

De mémoire, un groupe de contrôle ne compte que pour un dans cette limite de 255.

une piste de solution possible mais à vérifier

Eric
Messages postés
3877
Date d'inscription
mardi 19 mars 2002
Statut
Membre
Dernière intervention
23 août 2018
18
JTu sembles avoir raison Eric

En tout cas, ce petit test fonctionne sans erreur


Private Sub Form_Load()

    Dim i As Integer

   

    For i = 1 To 500

        Load Text1(i)

        Text1(i).Visible = True

        Text1(i).Left = Text1(i - 1).Left + 10

        Text1(i).Top = Text1(i - 1).Top + 10

    Next

    Text1(500).ZOrder

   

End Sub

Mais la conception même d'un programme avec autant de contrôles sur une feuille reste un peu particulière... Déjà la gestion doit se compliquer pas mal ...

MPi
Messages postés
14008
Date d'inscription
samedi 29 décembre 2001
Statut
Modérateur
Dernière intervention
28 août 2015
75
Salut
http://www.vbfrance.com/codes/LIMITATIONS-VB6_35122.aspx

Vala
Jack, MVP VB
NB : Je ne répondrai pas aux messages privés
Messages postés
315
Date d'inscription
dimanche 27 novembre 2005
Statut
Membre
Dernière intervention
22 décembre 2014

Il n'y aurait donc pas de petite astuce pour résoudre mon souci ?

Merci de m'aider.

jyd
Messages postés
3877
Date d'inscription
mardi 19 mars 2002
Statut
Membre
Dernière intervention
23 août 2018
18
diminuer le nombre de contrôles et utiliser autre chose.

MPi
Messages postés
315
Date d'inscription
dimanche 27 novembre 2005
Statut
Membre
Dernière intervention
22 décembre 2014

En fait cette feuille contient un onglet de 12 éléments


Chacun de ces onglets gère une quantité de données très importante.

Cette feuille est en fait un complètement d'une fiche client très complexe...

Lors de la consultation de cette feuille (donc de cette feuille) en quelques coups de clics, j'ai devant les yeux TOUTES les infos de cette fiche en une seule feuille.

Il n'y aurait donc aucun paramétrage spécial de visual basic en début de programme.

Par contre cette limite de contrôles (sur la feuille) est-elle en rapport avec des variables tableau en grandes quantités ?

jyd
Messages postés
315
Date d'inscription
dimanche 27 novembre 2005
Statut
Membre
Dernière intervention
22 décembre 2014

Bonsoir.


Merci à tous.


Tous, vous m'avez aidé...


J'ai regroupé mes labels en un bloc de 255 labels...


J'ai utilisé une grille au lieu des textbox...


Et tout fonctionne à merveille.

jyd