VBA Dimensions Forme Import

Bonsoir,

Pour te faire patienter...

Image du Userform pour ouverture en composition initiale des formes à utiliser :

2018 10 25 062615

Il y manque encore le bouton de validation, mais le reste est en place pour les ajouts.

L'utilisateur pourra ajouter un Prémur (ce sera obligatoire !) et autant de Panneaux Standard ou Bâtard qu'il voudra.

Les éléments définis iront s'inscrire dans la ListBox.

Le bouton ajouter du Prémur s'intitulera Modifier dès lors qu'un Prémur a été défini. Ses dimensions apparaîtront dans la ListBox, et demeureront également dans les TextBox.. Elles pourront y être modifiées et validées par le bouton Modifier...

Les dimensions ne sont pas à servir pour les Panneaux Standard, seul le nombre, qui permettra de définir tous les Panneaux Standard à créer. Le choix de l'option Bâtard effacera les dimensions standard pour qu'elles soient définies par l'utilisateur qui définira aussi le nombre pour chaque dimension non standard de Panneau. Les dimensions standard restent les dimensions maximales définissables.

Il pourra revenir sur ses choix de panneaux pour les modifier, panneau par panneau, en le sélectionnant dans la ListBox.

Lors de la première sélection, d'autres contrôles apparaîtront...

Image du Userform complet :

2018 10 25 062631

Il pourra supprimer le panneau sélectionné avec le bouton Suppression. Les indications relatives au panneau s'inscriront dans la ligne de TextBox où il pourra les modifier et valider les modifications par le bouton Modifer (noter que le numéro est un élément modifiable, mais l'utilisateur devra choisir un numéro libre).

Il pourra annuler la sélection s'il s'est trompé...

Le Prémur ne sera pas sélectionnable ni supprimable. Il ne peut être que modifié une fois défini.

Si tu le juges utile je peux ajouter un bouton pour opérer une renumérotation automatique (par exemple si l'utilisateur a opéré des suppressions et souhaite que les panneaux soient renumérotés en série continue sans avoir à les modifier numéro par numéro).

Deux boutons prévus sur la feuille : un pour réinitialiser qui éliminera les formes existantes et ouvrira le Userform (première image) pour définir une composition initiale, un second pour modification qui ouvrira le Userform (2e image).

Et sans doute un 3e pour afficher temporairement sous forme d'image le tableau de la feuille 2...

Me reste plus qu'à coder tout ça : fonctionnement du Userform, création des formes initiales et du tableau récap., et les proc. annexes sur la feuille. Ce qui va prendre un peu de temps (et je n'en aurai pas demain)

Ensuite on pourra voir si on peut mettre en place une assistance à la simulation, par exemple en définissant des positions relatives de gauche à droite et de haut en bas, pour pouvoir donner des directives du type : placer le panneau 1 en position 1, le panneau 3 en position 2...

Cordialement.

Salut,

Merci pour tes réponses!

Tout me semble nickel! (Oui je veux bien un bouton pour réinitialiser les numéros & un bouton pour tourner à 90° les panneaux STANDARD)

Après le seul problème, je pense, c'est de trouver les dimensions des batards. Sachant qu'il n'y a aucun aide de mesure...Peut être avec ton "assistance" simulation?

Petit rajout pour ton plus grand bonheur...Dans le tableau résumé, est ce possible d'indiquer les quantités des panneaux STANDARD final (sachant que 2 batards, voir 3 batards peuvent former un STANDARD) et les autres batards avec leurs dimensions ...?

nota: tu peux supprimer le 2.855 x dans les calculs des dimensions dans le code VBA.

encore MERCI!!!

Bonjour,

Ton coefficient correspondait à la valeur 1 mm en points, en limitant le nombre de décimales, ce qui en multipliant par 100 les valeurs en m aboutissait à l'appliquer à des valeurs en cm, soit à réaliser tes formes à l'échelle 1/10.

L'appliquer aux positionnements n'était pas utile, mais pour les dimensions, fixer une échelle n'est pas une mauvaise idée... En le supprimant, tu fais en fait une équivalence : 1 cm = 1 point, ce qui fournit aussi une échelle (1/28,... sauf erreur) mais en fixer une prédéfinie peut être plus satisfaisant pour l'utilisateur : 1/25 ou 1/30.

En tout cas, cela va réduire sensiblement ta zone de travail...

(NB- on peut utiliser Application.CentimetersToPoints pour faire la conversion en points.)

Pour les nombres et dimensions, le tableau résumé les liste avec les dimensions. J'avais déjà pensé pouvoir appeler une image de ce tableau qu'on placerait dans un angle (et un clic dessus pour le supprimer), ça c'est assez facile à faire. Pour ce qui est actions à pouvoir faire directement en travaillant sur la feuille, ouvrir une petite boîte de dialogue qui permettrait d'opérer des rotations, éventuellement un redimensionnement individuel sans passer par le userform, et quelques autres qu'on pourra y placer, n'est pas non plus un poblème, mais c'est l'ouvrir de façon ergonomique en gardant un système simple qu'il faut arriver à mettre au point... on a le temps d'y réfléchir, le temps de faire le reste !

Bonne journée.

Dacc super merci.

Les dimensions sont en m, mais si je peux réduire la forme sans toucher à l'échelle c'est mieux .

Je valide tes propositions ^^

Alors disponible...? ^^

@MFerrand

Je me disais bien hier que j'avais prévu de m'attaquer à un truc ! Impossible me souvenir quoi !

Tu fais bien de te manifester. On essaiera de rattraper.

Bonne journée.

Je me disais bien hier que j'avais prévu de m'attaquer à un truc ! Impossible me souvenir quoi !

Tu fais bien de te manifester. On essaiera de rattraper.

Bonne journée.

Tu penses m'envoyer quand le fichier à jour, histoire que je puisse faire qlqs tests.

J'ai fait un petit quelque chose en mettant des boutons sur la feuille, nommant la Récap de façon un peu particulière car ce tableau peut inclure des lignes vides si la numérotation des panneaux n'est pas continue, et en codant l'ouverture du Userform selon les 2 options, sachant que j'aurai à reprendre ce code en partie pour simplification lorsque je coderai le fonctionnement interne du Userform (des séries de commandes peuvent s'avérer devoir être répétées selon les situations et dans ce cas on les reconcentrera dans des procédures auxiliaires pour éviter d'avoir à les répéter...)

J'ai aussi placé les dimensions Standard en constantes, de façon qu'on n'ait s'il y a lieu à les modifier qu'en un seul endroit.

L'affichage du Userform est conforme à ce qui était prévu. La prochaine étape est de régler son fonctionnement interne.

@+

Bonjour,

Pas énormément avancé mais j'ai tout de même codé la saisie du Prémur, ce qui m'a amené à définir 2 proc. de vérification, lors de la saisie des dimensions, et lors de la validation pour s'assurer que les dimensions ont toutes été saisies, ce qui servira pour toutes les saisies.

Et justement, si j'ai codé pour les panneaux vérification qu'on ne dépasse pas les dimensions standard, il m'est venu à l'idée qu'il serait peut-être judicieux de fixer des limites pour le Prémur afin d'éviter qu'on puisse se retrouver avec des données inexploitables, pouvant résulter d'une erreur de saisie, mais si on ne vérifie pas...

Quel est ton avis sur la question ? Et le cas échéant quelle limites supérieures de dimensions serait-il logique d'arrêter pour le Prémur ? Et éventuellement quelles limites inférieures ?

Cordialement.

Salut,

Minimum 0,8m (largeur et hauteur) et pour le max disons aucune limite ne tkt pas pour les saisies ^^

MERCI

C'est noté, et intégré. J'ai codé aussi l'ajout de panneaux lors de la création. Je coderai les modifs demain, mais tu semblais avoir une préférence lors de changements de numéros pour une renumérotation automatique, aussi lorsque l'utilisateur sélectionne un panneau dans la ListBox pour modification, je te proposerais la méthode suivante s'il désire le classer à un autre rang, il indique le numéro que doit prendre le panneau dans la série créée, et on renumérote automatiquement ceux qui s'en trouvent décalés pour le placer à la position demandée ?

Cordialement.

Je préfère que tout soit mis automatiquement (1,2,3,4,5...). Si on supprime un panneau les numéro change automatiquement est ce possible?

On va faire comme ça !

Salut,

du progrès?

On va faire comme ça !

Tu m'oublies pas ?

Bonjour,

Pas du tout ! J'ai passé un peu de temps avec ce qui me semblait et me semble toujours une bizarrerie lors de la récupération du contenu d'une ListBox en tableau, mais qui ne semble pas avoir de conséquence lors de l'utilisation...

Le code de la 1re partie, soit la création et modification de formes au moyen d'un Userform, est écrit depuis 3 jours. Mais pas eu le temps de tester car en déplacement depuis samedi dans des conditions qui ne sont pas les meilleures...

Je vais tâcher de faire ça aujourd'hui.

Bonne journée.

Le plus gros du débogage est fait, et j'ai aussi apporté diverses modifications en testant divers points. J'en ai quelques autres en réserve mais là je rentre d'une itinérance de quelques jours et suis trop fatigué pour faire du bon travail.

Comme je suis absent demain, pour ne pas te faire plus attendre, je vais te laisser continuer à essuyer les plâtres...

Note dans le détail tous les éléments, y compris ergonomiques, que tu souhaiterais modifier ou améliorer, à presque chaque test, outre la correction d'erreurs, j'ai déjà souvent apporté des modifications... Mais ce qui me paraît ergonomique n'est pas forcément ce qui le sera pour l'utilisateur.

Pas le temps d'expliquer le code pour l'instant. Je répondrai aux questions.

Note qu'il y a deux plages nommées, dont l'une correspond au tableau Récap.

Je réfléchis à la suite que nous avons évoquée pour améliorer le travail sur la feuille. Je n'ai pas encore d'idée arrêtée et ça demandera un peu de temps, d'autant que ma disponibilité va être plus réduite et que j'ai d'autres travaux en attente...

Cordialement.

Salut,

Comme dab...un grand MERCI pour ton travail !

Ci joint les remarques :

- Bouton "Afficher recap" pas besoin ^^

- Si on modifie un panneau (peu importe) lorsqu'on sort de l'userform les positions des panneaux se réinitialise, il faudrait garder les même position.

- Les dimensions des batards sont trop difficile à déterminer pour qu'elle recouvre parfaitement le prémur.

Pour moi il serait plutôt préférable de rajouter un panneau STANDARD à la fois, le positionner, modifier sa forme à la souris (pour qu'il rentre bien dans la forme "Prémur") et ensuite répéter le cycle jusqu'à recouvrir la forme "Prémur". En suivant cette logique créer un bouton "Import" pour récupérer les dimensions de chaque forme et les transférer dans un tableau (Voir ma PJ pour la macro qui récupère les dimensions).

Ou sinon, trouver une macro qui recouvre tout seul la forme "Prémur" avec des panneaux STANDARD et bâtard, mais je crois que c'est vachement difficile.

En attente de ton retour,

MERCI

11alfazoulou.zip (16.79 Ko)

Le plus gros du débogage est fait, et j'ai aussi apporté diverses modifications en testant divers points. J'en ai quelques autres en réserve mais là je rentre d'une itinérance de quelques jours et suis trop fatigué pour faire du bon travail.

Comme je suis absent demain, pour ne pas te faire plus attendre, je vais te laisser continuer à essuyer les plâtres...

Note dans le détail tous les éléments, y compris ergonomiques, que tu souhaiterais modifier ou améliorer, à presque chaque test, outre la correction d'erreurs, j'ai déjà souvent apporté des modifications... Mais ce qui me paraît ergonomique n'est pas forcément ce qui le sera pour l'utilisateur.

Pas le temps d'expliquer le code pour l'instant. Je répondrai aux questions.

Note qu'il y a deux plages nommées, dont l'une correspond au tableau Récap.

Je réfléchis à la suite que nous avons évoquée pour améliorer le travail sur la feuille. Je n'ai pas encore d'idée arrêtée et ça demandera un peu de temps, d'autant que ma disponibilité va être plus réduite et que j'ai d'autres travaux en attente...

Cordialement.

Salut,

Est ce que tu as eu le temps de prendre en compte mes demandes?

MERCI

Bonsoir,

Tous les travaux attendent que je sois rentré chez moi... Je m'envole demain.

Cordialement;

Rechercher des sujets similaires à "vba dimensions forme import"