Création d'un userform dynamique avec plusieurs labels

Résolu
MastJager Messages postés 21 Date d'inscription   Statut Membre Dernière intervention   -  
MastJager Messages postés 21 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour à tous

J'espère que vous allez bien! De mon côté, un petit soucis.

Voilà je dois faire un plan de protection de ligne élec. Sur ce schéma j'ai représenté plusieurs protections ( exemple : court circuit) et si je clique dessus une fenêtre (USF) s'affiche comportant mes données.

J'ai déjà créer plusieurs USF pour chaque protection mais je dépasse déja les 40 USF.

Donc j'aimerai créer un USF dynamique et dans ce USF aurai 4 labels et 1 labels avec des variables.
De plus, il possèderait des boutons affichant une image chacun.

Nota: Mon texte se trouve dans mon ordi ("C:/Documents/ect ..) et mes valeurs sur la seconde feuille de mon Excel

J'espère que je suis assez claire? Si non n'hésiter pas à me demander plus d'info..

merci à l'avance
A voir également:

6 réponses

michel_m Messages postés 16602 Date d'inscription   Statut Contributeur Dernière intervention   3 314
 
Bonjour,
sans voir le classeur...

Mettre le classeur sans données confidentielles en pièce jointe sur « mon-partage.fr »
et faire un clic droit-coller le raccourci dans votre message

Dans l’attente

0
thev Messages postés 1986 Date d'inscription   Statut Membre Dernière intervention   714
 
Bonjour

Donc j'aimerai créer un USF dynamique et dans ce USF aurai 4 labels et 1 labels avec des variables.

Plusieurs remarques :
1- il n'est pas possible de créer un USF dynamique (c'est à dire disparaissant à la fermeture du classeur). En revanche, on peut créer via VBA dans le projet VBA un USF avec les contrôles et le code associé mais il faudra alors le supprimer avant la fermeture du classeur.

2- il est possible de créer dynamiquement des contrôles dans un USF qui disparaissent à son déchargement ou à la fermeture du classeur.

3- quel est l'intérêt ?? En général, la création de contrôles dynamiques est lié à la création de nouveaux objets dans le classeur (feuilles, graphiques, TCD,...) mais j'en vois moins la nécessité pour un USF.

 
0
cs_Le Pivert Messages postés 7904 Date d'inscription   Statut Contributeur Dernière intervention   729
 
Bonjour,

Juste pour info, il est possible de créer un UserForm dynamique qui est supprimé à sa fermeture.

Voir la réponse de KIKI

https://www.developpez.net/forums/d1151084/logiciels/microsoft-office/excel/macros-vba-excel/userform-dynamique/



@+ Le Pivert
0
thev Messages postés 1986 Date d'inscription   Statut Membre Dernière intervention   714
 
Cs_Le_Pivert
Il ne s'agit pas d'un "UserForm dynamique", le terme est impropre. Il s'agit comme je l'ait dit, d'un Userform créé dans le projet VBA par du code et qui ne se supprime pas automatiquement après fermeture du classeur. Il faut rajouter du code pour le supprimer, sinon il reste présent dans le classeur.
 
0
cs_Le Pivert Messages postés 7904 Date d'inscription   Statut Contributeur Dernière intervention   729
 
J'ai essayé, a part le code de départ, il ne reste aucune trace de l'UserForm.
Je ne comprends pas ton explication!

voici un exemple:

http://www.cjoint.com/c/GDBsN3oBytQ

@+
0
thev Messages postés 1986 Date d'inscription   Statut Membre Dernière intervention   714
 
Si tu as essayé le code indiqué dans ton lien, la dernière instruction :
ThisWorkbook.VBProject.VBComponents.Remove VBComponent:=UsfForm
--
effectue la suppression du Userform créé dans le projet VBA . Si cette dernière instruction n'est pas présente, le UserForm sera conservé à la fermeture du classeur.
 
0
cs_Le Pivert Messages postés 7904 Date d'inscription   Statut Contributeur Dernière intervention   729
 
Justement elle est présente, donc tout ton discours ne sert à rien!!!!!!!!
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
thev Messages postés 1986 Date d'inscription   Statut Membre Dernière intervention   714
 
C'est ton avis et je te le laisse.
Pour ma part, je pense qu'il est utile de savoir comment fonctionne ce type de Userform pour le gérer en fonction des besoins du programme : veux-t-on conserver ses valeurs ?, veux-t-on l'utiliser plusieurs fois en y effectuant des changements ou non ? , veux-t-on même le conserver à la fermeture du classeur ? ....
0
cs_Le Pivert Messages postés 7904 Date d'inscription   Statut Contributeur Dernière intervention   729
 
Une nouvelle mouture avec une image dans le commandbutton:

http://www.cjoint.com/c/GDCpd1XpNOQ
0
MastJager Messages postés 21 Date d'inscription   Statut Membre Dernière intervention  
 
Une personne m'a aidé à résoudre mon problème, elle a eu l'idée d’affecter un système de recherche selon une référence.
Exemple

Sub Buchholz()
reference = "Buchholz"
Call colonnes
adresse_ref = Sheets("Contenu").Range("A:A").Cells.Find(reference).Address
ligne_ref = Split(adresse_ref, "$")(2)

'TEST_DYNAMIQUE.caption = Sheets("Contenu").Range(col_nom & ligne_ref).Value
TEST_DYNAMIQUE.Label1.Caption = Sheets("Contenu").Range("C" & ligne_ref).Value
TEST_DYNAMIQUE.Label2.Caption = Sheets("Contenu").Range("D" & ligne_ref).Value
TEST_DYNAMIQUE.Label3.Caption = Sheets("Contenu").Range("E" & ligne_ref).Value
TEST_DYNAMIQUE.Label4.Caption = Sheets("Contenu").Range("F" & ligne_ref).Value


TEST_DYNAMIQUE.Label_ref = reference
TEST_DYNAMIQUE.Show
End Sub
0
cs_Le Pivert Messages postés 7904 Date d'inscription   Statut Contributeur Dernière intervention   729 > MastJager Messages postés 21 Date d'inscription   Statut Membre Dernière intervention  
 
si tu avais suivi le conseil de michel_m, il aurait été plus facile de t'aider!
Nous sommes tous bénévoles, ce genre de comportement n'encourage pas à continuer à aider!

https://forums.commentcamarche.net/forum/affich-34553531-creation-d-un-userform-dynamique-avec-plusieurs-labels#1

Penses-tu que la macro que tu as postée va aider quelqu'un?
0
MastJager Messages postés 21 Date d'inscription   Statut Membre Dernière intervention  
 
Excusez moi mais je ne pouvais pas me permettre de link mon Excel il comporte du contenu confidentiel.
Désolé pour la gêne occasionné.
0