Y-a-t-il un nombre maximum de contrôles par userform ?

L

lolo

Guest
Bonjour à toutes et à tous,

Je constate que l'éditeur de code ne réagit pas normalement sur un userform "assez chargé" (75 contrôles). Quand je rajoute un nouveau bouton de commande (le 76eme contrôle...), l'éditeur de code ne me le rajoute pas dans la liste des contrôles disponibles dans le userform. De plus je constate également des anomalies à l'exécution.

Savez-vous s'il y a des limites de nombre de contrôles par userform ? mes problèmes d'exécution pourraient-ils être dus à une allocation de mémoire insuffisante (mémoire nécessaire au chargement des contrôles par exemple).

Merci d'avance à tous ceux qui pourraient m'aider là dessus.


lolo
 
@

@+Thierry

Guest
Salut Lolo

Premièrement, en tant que développeur, j'ai fait probablement plus d'un millier d'applis basées sur des UserForms....... Arf jamais je n'ai eu besoin de 75 Contrôles dedans !!! lol...

Pour le Fun voici une remarque du grand Cheap Pearson :
"As a practical matter, though, I don't think I'd want to use a form with 411 controls on it. It would look like the cockpit of a 747 "

A mon avis tu dois un peu passer à coté de trucs simples pour optimiser tes UserForms !!

Bon ceci dit, j'ai cherché et trouvé ceci sur Micro$oft :
"Invalid Page Fault with More Than 411 Controls in UserForm"
Donc en théorie, 75 devraient passer... C'est probablement dans l'optimisation du code...

Sais-tu aussi qu'un module de Code ne doit théoriquement pas dépasser 64kb une fois exporté... étonnant non ! comme disait Desproge !

Enfin pour tenter de t'aider, il m'arrive parfois que lors de l'ajout d'un nouveau Control non prévu en cours de programmation, celui-ci ne soit pas "vu" par VBE et donc pas disponible... Dans ce cas je sauve en V.01.01, je ferme, et je ré-ouvre, usuellement il est là !

Je pense qu'en fait c'est plus une question de logique de la manière de compilation que pratique le VBA, qu'un Bug.

En effet, il serait plus logique de :
1) Dessiner complètement le UserForm avec TOUS ses Controls nécessaires...
2) D'écrire ENSUITE les codes qui s'y affèrent....
3) Faire compiler en exécutant...

Si on fait ceci dans l'ordre inverse, c'est là que celà, parfois, fait perdre son latin à VBA !

Bon Samedi
@+Thierry

PS l'article de MS :
Base de connaissances Microsoft - 177842
http://support.microsoft.com/default.aspx?scid=http://support.microsoft.com:80/support/kb/articles/Q177/8/42.ASP&NoWebContent=1
 
H

herve

Guest
bonsoir!

lolo, pour simplifier ton USF, pourquoi n'utilises tu pas la fonction caption?

par exemple :

bouton.caption = variable

si bouton.caption = "a" alors sub a
si bouton.caption = "b" alors sub b

cette fonction est pratique car avec 1 seul bouton (et donc toujours a la meme place) tu peux faire autant de controle que besoin.

et tu auras peut etre 411 sub, mais 1 seul controle...

@+
Hervé
 

Discussions similaires

Statistiques des forums

Discussions
313 137
Messages
2 095 626
Membres
106 308
dernier inscrit
F.DIAS