Delacer en lot control

bonjour

je souhaite que lorsque le clic sur un onglet tout les controls coresspondant a celui se place

pour le moment si je vais au onglet 2 c'est bon apres sa bug pas moyen de revenir au d'aller au suivant

j'ai des controls a droite et en bas

merci de votre aide

12test2.xlsm (82.12 Ko)

Bonjour,

J'ai regardé ton Userform et je l'ai trouvé passablement complexe.

Je suggère d'utiliser un seul Frame au lieu de plusieurs Label et d'en adapter le contenu au besoin ... dont la couleur.

Voir exemple...

Il faudrait maintenant avoir une feuille pour chaque catégorie (Machines, Planches, Suivi, Articles, Fournisseurs, Maintenance, Information). Dans chacune de ces feuilles, les titres de colonnes désirés correspondant au réel. Ceci afin d'alimenter correctement les combobox et gérer l'affichage des textbox.

Même si d'une catégorie à l'autre le nombre de colonnes varie, l'important est que ce soit facile de s'y retrouver.

Si cette approche t'intéresse ...

Gelinotte.

9cisco38-test2.xlsm (76.86 Ko)

oui mais toute les pages ne vont pas se ressembler

j'avais fait un copier coller des listbox

pour exemple

pour le moment cela fonctionne déplacement left

je souhaite faire un déplacement top pour les controls du dessous

ci joint le fichier qui fonctionne en horizontal jusque onglet 3

je pourrais mettre tout a la suite mais je pense que je vais mettre en dessous que controls qui vont monter si je clic ou changement dans un autre controls

merci déjà d'avoir regardé

6test2.xlsm (85.60 Ko)

Bonjour,

Malgré que je trouve que c'est une approche tarabiscotée, je crois avoir réussi à en comprendre le fonctionnement et te propose cette solution qui va selon ta demande.

Il a fallu doubler le traitement : l'un pour l'horizontal et l'autre pour le vertical.

Mais ce n'est pas vraiment lourd.

À tester ...

Gelinotte

12cisco38-test5.xlsm (77.20 Ko)

merci c'est exactement cela

google est mon ami aussi

bonjour

peut tu me dire comment tu a determiné les 427

PositionT = (DemarragePosition - Haut) * (xlDialogEvaluateFormula - 427)

car si je veux maintenant augmenter et rajouter mes boutons je mi perd

merci

Bonjour,

PositionT = (DemarragePosition - Haut) * (xlDialogEvaluateFormula - 427)

427 n'est pas un nombre de controls.

https://msdn.microsoft.com/en-us/library/office/ff194519.aspx

xlDialogEvaluateFormula renvoie la valeur 709.

Dans le code que tu as soumis PositionL = (DemarrageOnglet - Onglet) * (xlDialogEvaluateFormula - 1) (709 - 1) soit 708, déplace vers la gauche ou vers la droite les Labels de 708 (points, je présume) , soit +/- la largeur de tes Labels.

(xlDialogEvaluateFormula - 427) (709 - 427) soit 282, représentant la hauteur de tes Labels pour leur déplacement vers le haut ou vers le bas.

Remarque que j'ai séparé les Labels de 36, ce qui représente la hauteur des onglets. Sinon, on voit la fin du Label précédent derrière les onglets lorsque les Labels montent.

Tu peux donc ajouter autant de contrôls que tu le désires, il n'y a rien à changer dans le code de déplacement. Les nouveaux contrôles suivront les autres.

Il n'y a que le temps de réaction qui va augmenter un tantinet si le nombre de contrôles est vraiment important et si le processeur de ta machine a des capacités limitées à comparer au besoin de performance.

@+

Gelinotte


Bonjour,

Note sur le message précédent :

Tu peux donc ajouter autant de contrôls que tu le désires ...

Présentement, tu as 3 labels de large et 3 labels de haut, représentés par tes onglets.

Si tu ajoutais des labels en hauteur ou en largeur ... là, il faudrait ajouter des onglets et le code qui s'y rattacherait.

Mais tant que tu restes dans le cadre actuel ... go, go, go les contrôles

Gelinotte

Rechercher des sujets similaires à "delacer lot control"