IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Macros et VBA Excel Discussion :

Mêmes contrôles sur plusieurs Userforms


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Homme Profil pro
    Ingénieur aéronautique
    Inscrit en
    Octobre 2018
    Messages
    216
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur aéronautique

    Informations forums :
    Inscription : Octobre 2018
    Messages : 216
    Par défaut Mêmes contrôles sur plusieurs Userforms
    Bonjour,

    Je souhaite intégrer un objet MSForms.Frame qui contient des contrôles MSForms.Label, MSForms.TextBox,... dans plusieurs Userforms.

    Je sais que je peux construire des objets MSForms.Frame à Run-time, mais le code devient vite très long (différentes polices,...). Ci-dessous, une ébauche la procédure (méthode de classe) que j'ai développée où controls est :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    '
    Public Sub log(ByRef controls As MSForms.controls, ByVal left As Long, ByVal top As Long) As MSForms.Frame
     
        Set log = controls.add(bstrProgID:="Forms.Frame.1", name:="log", Visible:=True)
     
        With log
     
            .left = left
            .top = top
     
            With .Controls
     
                Dim ctrl1 As MSForms.XXX: Set ctrl1 = .add(bstrProgID:="Forms.XXX.1", name:="ctrl1", Visible:=True)
                '..
     
            End With
     
        End With
     
        With ctrl1
     
            '..
     
        End With
     
    End Sub
    Savez-vous s'il est possible de récupérer le code généré dans les fichiers .frx qui accompagnent les Userforms ? Comment procédez-vous en général ? Je préférerais éviter de dupliquer le code et de générer le MSFrame par une méthode de classe...

    Merci par avance

  2. #2
    Invité
    Invité(e)
    Par défaut
    Bonjour,

    J'ai peut-être mal compris la question, car cela me paraît très simple. Un Userform a été exporté. Dans un nouveau fichier et dans le menu VBA, vous cliquez sur Fichier, puis Importer un fichier et vous cliquez sur le fichier .frx.
    Vous pouvez importer de la même façon des modules (.bas).

  3. #3
    Membre éclairé
    Homme Profil pro
    Ingénieur aéronautique
    Inscrit en
    Octobre 2018
    Messages
    216
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur aéronautique

    Informations forums :
    Inscription : Octobre 2018
    Messages : 216
    Par défaut
    Bonjour,

    Merci pour votre réponse, mais cela ne répond pas à ma question, à savoir comment créer un object MSForms.Frame contenant des autres contrôles, sans avoir à écrire tout le code manuellement (placement, couleur,.. mais sans la logique biensur). J'ai notamment pensé à exploiter les fichier .frx

  4. #4
    Invité
    Invité(e)
    Par défaut
    Bonjour Orbeaman,

    Il est vrai que dans ma réponse précédente j'avais confondu ".frx" et ".frm".

    Si vous voulez untiliser le ".frx", lisez la réponse de ucfoutu ici :

    https://www.developpez.net/forums/d6...hiers-frm-frx/

    Sinon, avec l'importation du ".frm" vous avez le formulaire avec tous les composants (hors ceux précisé dans la réponse ci-dessus) bien définis et le code associé.

Discussions similaires

  1. [Processus] Garder le contrôle sur un userform
    Par Commodore dans le forum Macros et VBA Excel
    Réponses: 7
    Dernier message: 01/02/2008, 11h08
  2. un même listener sur plusieurs JTextField
    Par AnjouWeb dans le forum Composants
    Réponses: 1
    Dernier message: 29/06/2007, 09h14
  3. Réponses: 7
    Dernier message: 06/03/2007, 14h17
  4. Même session sur plusieurs sites
    Par ElectroDepan dans le forum Langage
    Réponses: 4
    Dernier message: 07/06/2006, 17h32
  5. [excel] même code sur plusieurs feuilles
    Par sabotage dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 16/11/2005, 12h23

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo