|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | ||
|
Nouveau Membre du Club
![]() Inscription : juillet 2006 Messages : 101 ![]() |
Bonsoir
Depuis un certain temps je m'intéresse à la création de contrôles dynamique. En effet, rien de plus pénible à mes yeux que de comprendre le cheminement d'un programme écrit par quelqu'un d'autre où se produisent des évènements en cascade alors que lire un code source peu s'avérer tellement plus clair. L'idée c'est donc de créer des contrôles dans un classeur de résultat mais sans les déclarer avec le traditionnel Public WithEvents tout en gérant des évènements dessus ce qui simplifie la programmation (Vous n'aurez qu'à essayer de piéger un évènement Exit sur un TextBox créé dynamiquement pour voir). Ce qui nous intéresse ici c'est la propriété "Designer" d'un objet qui fait référence à un Userform. Mais trève de blabla. Code :
A+. |
||
|
|
00
|
|
|
#2 | ||
|
Inactif
Inscription : février 2005 Messages : 12 466 ![]() |
Juste pour t'embêter
Tu peux raccourcir ton code en créant un tableau des lignes à insérer dans ton code (30 lignes au lieu de 60 ~) Code :
Ainsi, plus tu as de code, plus tu te rapproches d'un rapport de 1/3 quant au nombre de lignes de code et plus tu facilites la lecture du code inséré Juste une idée et pour dire quelque chose
|
||
|
|
00
|
|
|
#3 | |||
|
Membre chevronné
![]() ![]() Inscription : mai 2007 Messages : 514 ![]() |
Bonjour,
Citation:
Deux petits bugs: Si on utilise cette option par défaut, on la retrouve deux fois dans chaque module, VBA se fache. Code :
Beau travail, Tirex28/ |
|||
|
|
00
|
|
|
#4 | ||||
|
Nouveau Membre du Club
![]() Inscription : juillet 2006 Messages : 101 ![]() |
Bonsoir,
tirex28: Citation:
Citation:
ouskel'n'or: C'est vrai que je suis pas un pro de l'optimisation d'écriture de code dynamique. Un truc que j'ai mis au point et qui fonctionne en vue d'exporter du code: Code :
Merci de vos conseils éclairés. A+ |
||||
|
|
00
|
|
|
#5 | ||
|
Nouveau Membre du Club
![]() Inscription : juillet 2006 Messages : 101 ![]() |
Désactivation de l'option "Option Explicit". Fonctionne même si l'application est cachée. Nécessite de déclarer l'api "Sleep"
Code :
|
||
|
|
00
|
|
|
#6 | ||||
|
Membre chevronné
![]() ![]() Inscription : mai 2007 Messages : 514 ![]() |
Bonsoir,
Citation:
Code :
Plus de soucis avec: Concernant Option Explicit, plutot que d'employer SendKeys et des API, il me semble plus simple de ne pas écrire cette instruction, ca fonctionnera quelque soit la configuration du poste. Sinon regarde la propriété CountOfDeclarationLines de l'objet CodeModule, ca devrait t'aider à mettre en oeuvre une solution plus 'propre'. Tant que j'y suis, une petite question: Pourquoi créer le formulaire dans un nouveau classeur et pas dans celui qui contient la macro? Cordialement, Tirex28/ |
||||
|
|
00
|
|
|
#7 | ||
|
Nouveau Membre du Club
![]() Inscription : juillet 2006 Messages : 101 ![]() |
Bonsoir,
Citation:
-la première c'est que je suis un peu parano et que je me dis que si je crée le formulaire dans le même classeur que celui qui contient la macro, si jamais y'a une coupure de courant et qu'elle survient au moment où le programme était de créer le formulaire je ne suis pas à l'abri de corrompre mon classeur de code. -la deuxième c'est que créer des contrôles de manière dynamique dans classeur de code ou dans un classeur de résultat c'est pareil une fois qu'on a la bonne méthode de programmation. -je voulais pas m'embêter à gérer des protections à tout va vu que je suis pas un expert là dedans. -enfin pour la clarté du code. -parce que la création dynamique est un truc qui me plaît bien Citation:
Bonne soirée. |
||
|
|
00
|
|
|
#8 | |
|
Membre chevronné
![]() ![]() Inscription : mai 2007 Messages : 514 ![]() |
Bonsoir,
Citation:
Cordialement, Tirex28/ |
|
|
|
00
|
Copyright © 2000-2012 - www.developpez.com