delacer en lot control

Y compris Power BI, Power Query et toute autre question en lien avec Excel
Répondre
c
cisco38
Membre fidèle
Membre fidèle
Messages : 220
Inscrit le : 5 février 2014
Version d'Excel : 2007

Message par cisco38 » 20 novembre 2016, 13:33

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
test2.xlsm
(82.12 Kio) Téléchargé 7 fois
Avatar du membre
gelinotte
Membre dévoué
Membre dévoué
Messages : 600
Inscrit le : 29 juillet 2013
Version d'Excel : 2016

Message par gelinotte » 20 novembre 2016, 18:27

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.
cisco38__test2.xlsm
(76.86 Kio) Téléchargé 8 fois
Google est mon ami ...
c
cisco38
Membre fidèle
Membre fidèle
Messages : 220
Inscrit le : 5 février 2014
Version d'Excel : 2007

Message par cisco38 » 20 novembre 2016, 19:47

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é
test2.xlsm
(85.6 Kio) Téléchargé 6 fois
Avatar du membre
gelinotte
Membre dévoué
Membre dévoué
Messages : 600
Inscrit le : 29 juillet 2013
Version d'Excel : 2016

Message par gelinotte » 21 novembre 2016, 00:16

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
Cisco38_test5.xlsm
(77.2 Kio) Téléchargé 11 fois
Google est mon ami ...
c
cisco38
Membre fidèle
Membre fidèle
Messages : 220
Inscrit le : 5 février 2014
Version d'Excel : 2007

Message par cisco38 » 21 novembre 2016, 08:46

merci c'est exactement cela
google est mon ami aussi
c
cisco38
Membre fidèle
Membre fidèle
Messages : 220
Inscrit le : 5 février 2014
Version d'Excel : 2007

Message par cisco38 » 21 novembre 2016, 18:50

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
Avatar du membre
gelinotte
Membre dévoué
Membre dévoué
Messages : 600
Inscrit le : 29 juillet 2013
Version d'Excel : 2016

Message par gelinotte » 21 novembre 2016, 20:05

Bonjour,
PositionT = (DemarragePosition - Haut) * (xlDialogEvaluateFormula - 427)
427 n'est pas un nombre de controls.
https://msdn.microsoft.com/en-us/librar ... 94519.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 :mrgreen:


Gelinotte
Google est mon ami ...
Répondre
  • Sujets similaires
    Réponses
    Vues
    Dernier message