Création d'un userform dynamique avec plusieurs labels

Résolu
MastJager Messages postés 21 Statut Membre -  
MastJager Messages postés 21 Statut Membre -
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

6 réponses

  1. michel_m Messages postés 18903 Date d'inscription   Statut Contributeur Dernière intervention   3 320
     
    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
  2. thev Messages postés 2010 Date d'inscription   Statut Membre Dernière intervention   723
     
    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
  3. thev Messages postés 2010 Date d'inscription   Statut Membre Dernière intervention   723
     
    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
    1. cs_Le Pivert Messages postés 8437 Statut Contributeur 730
       
      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
  4. thev Messages postés 2010 Date d'inscription   Statut Membre Dernière intervention   723
     
    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
    1. cs_Le Pivert Messages postés 8437 Statut Contributeur 730
       
      Justement elle est présente, donc tout ton discours ne sert à rien!!!!!!!!
      0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. thev Messages postés 2010 Date d'inscription   Statut Membre Dernière intervention   723
     
    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
  7. cs_Le Pivert Messages postés 8437 Statut Contributeur 730
     
    Une nouvelle mouture avec une image dans le commandbutton:

    http://www.cjoint.com/c/GDCpd1XpNOQ
    0
    1. MastJager Messages postés 21 Statut Membre
       
      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
    2. MastJager Messages postés 21 Statut Membre
       
      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