question : un userform peut-il etre modulable ?

PEX

XLDnaute Occasionnel
bonjour a tous,

je viens vers vous avec cette question en espérant avoir une réponse.

je cherche a mettre en place une macro avec un userform de saisie, contrainte : mes prestations sont variable sur le nombre d'étapes a réaliser.

il faudrait que lorsque je clique sur un Button ( etapes a realiser ) il me rajoute une ligne sur le USF avec textbox et listederoulante
et ceci autant de fois que je cliquerai sur le Button ( donc de 1 a 20 ligne par exemple si je clique 20 fois sur le bouton ).

le problème c'est que l'USF doit se mettre a jours automatiquement en fonction du Click sur le button.
mai il faut qu'ensuite les données saisie se mette dans le fichier.

dites moi si cela est faisable ou non en VBA !

Cordialement

Pex
 

pierrejean

XLDnaute Barbatruc
Re : question : un userform peut-il etre modulable ?

Bonjour PEX

Ceci est probablement réalisable en créant un USF pour la plus importante des possibilités et en activant les Textbox et Combobox au fur et à mesure des besoins
Avec un fichier exemple on pourra surement t'en dire plus
 

PEX

XLDnaute Occasionnel
Re : question : un userform peut-il etre modulable ?

Bonjour PEX

Ceci est probablement réalisable en créant un USF pour la plus importante des possibilités et en activant les Textbox et Combobox au fur et à mesure des besoins
Avec un fichier exemple on pourra surement t'en dire plus

Bonjour pierrejean,

je suis entrain de faire le fichier avec les label et textbox fixe. je joindrai le fichier de base et jessaierai de tout expliquer avec des Screenshots retoucher sur paint.

les userform dynamique je n'y ai aucune connaissance et je suis prêt a apprendre. se sera l’exemple d'apprentissage pour la suite des autre USF que je devrais créer dans un certaines temps

je te tiens au courant!

merci de ton aide

cordialement

pex
 

13GIBE59

XLDnaute Accro
Re : question : un userform peut-il etre modulable ?

Bonjour PE, bonjour Pierrejean.

Une solution inspirée par l'idée de pierrejean (que je salue :)).
Tu crées ton userform au départ avec beaucoup de lignes contenant textbox et listes déroulantes (exemple 50 ?).

A son ouverture (Private Sub UserForm_Initialize) tu joues sur sa hauteur :
UserForm1.Height = 150 (par exemple)

Et à chaque clic sur un OptionButton, tu augmentes la hauteur
UserForm1.Height = 160 (par exemple), pour faire apparaître la ligne suivante, et hop !

Bon courage.
 

PEX

XLDnaute Occasionnel
Re : question : un userform peut-il etre modulable ?

je vous joints le fichier.

j'ai écris dans le module et l'USF afin de ne pas encombrer le topic.
j'ai réalisé USF avec la trame a suivre, a partir de la je pense me débrouiller si je change de trame.
normalement sa doit être assez compréhensible une fois que vous aurez vu les différents éléments.

merci de votre aide

Cordialement
 

Pièces jointes

  • USFDynamique.xlsm
    30 KB · Affichages: 88

PEX

XLDnaute Occasionnel
Re : question : un userform peut-il etre modulable ?

Bonjour PE, bonjour Pierrejean.

Une solution inspirée par l'idée de pierrejean (que je salue :)).
Tu crées ton userform au départ avec beaucoup de lignes contenant textbox et listes déroulantes (exemple 50 ?).

A son ouverture (Private Sub UserForm_Initialize) tu joues sur sa hauteur :
UserForm1.Height = 150 (par exemple)

Et à chaque clic sur un OptionButton, tu augmentes la hauteur
UserForm1.Height = 160 (par exemple), pour faire apparaître la ligne suivante, et hop !

Bon courage.

j'étais partie pour faire sa, mais l'ayant déjà fait c'est très lourd et le code aussi.
c'est pour ça que je souhaite me lancer dans les USF dynamique.

mais je te remercie tout de meme.

cordialement

pex
 

PEX

XLDnaute Occasionnel
Re : question : un userform peut-il etre modulable ?

Re

Un essai (pas complètement abouti mais qui traite de l'ajout de matériaux et d’étapes)

Bonjour pierrejean,

c'est super ce que vous avez fais, c'est une solution et je vous en remercie.
j'aurai voulu qu'a chaque fois que l'on clique sur ajouter un matériaux que l'USF s'incrémente tout seul. dans votre cas cela insert les lignes mais ne change rien a l'USF.

L'avantage d'un USF qui change en fonction des ajout est un meilleur visuel du fichier final.
dites moi si on peut faire sa sur VBA, si oui montrez moi, si non alors je passerai en VB.Net plus tard mais je continuerai le fichier que l'on a commencé car l'insertion de ligne comme c'est le cas m’intéresse énormément.


cordialement

pex
 

sourcier08

XLDnaute Occasionnel
Re : question : un userform peut-il etre modulable ?

Salut à tous.

Pour moi, l'usf se charge visuellement lorsqu'il est appelé. Il est à priori impossible d'ajouter des contrôles dans l'USF aprés son activation. À moins peut-être d'utiliser un module de classe. Et là, va falloir appeler les meilleurs (pas moi hein ^^) pour trouver la solution à ton problème. Je pense qu'il doit bien y avoir un moyen par là.

Par contre, en passant par un second onglet (qui ferait office de formulaire), ça aurait été bien plus simple. Mais ça n'aurait pas été un bon challenge pour les autres. :)

Toutefois, pour l'USF, je te conseille de mettre la propriété StartUpPosition sur 2 (center screen) et d'ajouter ce bout de code à ton USF.

Code:
Private Sub UserForm_MouseMove(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single)
UserForm1.Top = 20
End Sub
Ça permettra de le placer au centre de l'écran horizontalement et à 20 pixels du haut de l'écran verticalement.

Maintenant, il reste un dernier détail qui peut simplifier la vie de tous. Quand tu dis que tu veux ajouter des contrôles, tu sais à l'avance combien il doit y en avoir dans ton userform ? Si oui, en passant par une inputbox ou autres, ça peut se faire mais ça restera un peu lourd comme code pour l'enregistrement.
 
Dernière édition:

sourcier08

XLDnaute Occasionnel
Re : question : un userform peut-il etre modulable ?

Bonsoir,

Une suite du fichier de pierrejean. Tous comptes faits, sans module de classe, c'est possible. Seul hic, je bute pour nommer les textbox ajoutées et donc récupérer leurs valeurs pour la suite.

Set te1 = Me.Controls.Add("Forms.TextBox.1")

J'aurai bien vu un ajout : TbEtape & variable

Set te1 = Me.Controls.Add("Forms.TextBox.1", "TbEtape" & variable)


Mais rien n'y fait. Pas moyen de ressortir la valeur du TbEtape3 (pour moi, d'après ce que j'imaginais). Je dois passer à côté d'un truc important quelque part.
 

Pièces jointes

  • USFDynamique_a_1.xlsm
    42.3 KB · Affichages: 61
Dernière édition:

Herdet

Nous a quitté
Repose en paix
Re : question : un userform peut-il etre modulable ?

Bonsoir PEX et les autres contributeurs de ce fil,

Une autre solution avec un Multipage de 7 onglets pour les matériaux.
En nommant les TextBox par page : TBX_1_xxx, TBX_2_xxx, TBX_3_xxx, ... on peut faire des boucles For Each pour les initialiser (bouton "Effacer les saisies") ou transférer les saisies sur la feuille de façon dynamique.
Si des nouveaux matériaux sont nécessaires, ajouter des pages au Multipage1.

RD-USFDynamique_1.jpg

Dur, dur de trouver la bonne solution parmi celles présentées !

Salutations
Robert
 

Pièces jointes

  • RD-USFDynamique.xlsm
    39 KB · Affichages: 75

PEX

XLDnaute Occasionnel
Re : question : un userform peut-il etre modulable ?

Bonjour a tous,

désolé de mon absence une mission ma coupé du forum !
en tout cas merci de toute votre aide !

pour relancer le dernier post USF avec listbox est parfait !! honnétement respet a vous tous.

maintenant je voudrais simplement voir avec vous pour ajouter vite fait quelque détail :
- quand j'enregistre je souhaiterai qu'il y ai un saut de ligne entre la matiére et la ligne Operateur commentaire action ...
- quand je rajoute une etape est il possible que le nombre etape sincrémente : etape 1 = 10, etape 2 = 20 c'est une incrementation par 10 et le nom de l'operateur peut'il rester au lieu a chaque fois de rerentré le numero d'étape et l'opérateur ( parfois on modifie l'opérateur mais de rare fois )

et je pense que sa sera tout pour l'instant car vous avez fait un travail remarquable.

en tout cas je tiens a vous remercier sincerement de l'interet que vous m'avez porter !

Cordialement

Pex
 

PEX

XLDnaute Occasionnel
Re : question : un userform peut-il etre modulable ?

merci cela est parfait a un detail pret !
Je ne peux plus en double cliquant sur la ligne des etapes pour 'leffacer !! c'est tout mais c'est parfait sinon je vous remercierai jamais assez ..

Cordialement

pex
 

Discussions similaires

Réponses
93
Affichages
2 K

Statistiques des forums

Discussions
312 211
Messages
2 086 300
Membres
103 173
dernier inscrit
Cerba95