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 :

creation d'userform a partir d'une macro (nombre textbox fixé par la macro)


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    55
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2008
    Messages : 55
    Par défaut creation d'userform a partir d'une macro (nombre textbox fixé par la macro)
    Bonjour a tous,
    Je suis actuellement sur un projet Excel 2007 et dans ce projet j'ai besoin de pouvoir entrer des données lors de l'excécution de ma macro. Je dois faire une analyse de portefeuilles par rapport a un portefeuille de référence. J'aimerai pouvoir entrer mon portefeuille de référence dans un userform. Pour cela, il faudrait que lors de l'activation du userform, celui ci prenne en compte une feuille "ClasseActif" pour creer autant de textbox qu'il y a d'élément dans cette feuille afin d'avoir la composition du-dit portefeuille.
    Je me demandais si cela était possible et si quelqu'un savait ou je pourrai trouver une aide la dessus?

    Une autre solution serait de demander a l'utilisateur de donner le portefeuille de référence dans une autre feuille Excel avant de lancer la procédure, mais j'effectue une boucle sur les différentes feuilles du fichier qui contiennent des classes d'actif différentes (donc avec des feuilles "ClasseActif" qui change a chaque boucle).

    Merci beaucoup!

  2. #2
    Membre Expert
    Avatar de zazaraignée
    Profil pro
    Étudiant
    Inscrit en
    Février 2004
    Messages
    3 174
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2004
    Messages : 3 174
    Par défaut
    Il y a une rubrique sur la création dynamique de contrôles sur une Form dans la FAQ VB6 qui pourrait t'aider. Il te faudra faire attention au noms des composants standards de vb6 qui ne sont pas les mêmes qu'en VBA... Mais le principe reste le même.

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    55
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2008
    Messages : 55
    Par défaut
    Bonjour,
    Merci pour ta réponse!
    Dans le lien que tu m'as donné, est ce que les Text1() du premier exemple pourraient éventuellement etre remplacés par des combobox ou des textbox en VBA?
    Qu'entendent ils par "placer un controle" ?

  4. #4
    Membre Expert
    Avatar de zazaraignée
    Profil pro
    Étudiant
    Inscrit en
    Février 2004
    Messages
    3 174
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2004
    Messages : 3 174
    Par défaut
    Oui... Le principe reste le même.

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    55
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2008
    Messages : 55
    Par défaut
    Ok. J'ai essayé de faire un petit programme. Dans celui ci, je crée un userform contenant des textbox et des label. Les labels sont dans une feuille.
    Je me demandais s'il était possible de prendre les valeurs des textbox pour les mettre dans des variables? Je les ai renommé pour ce faire, mais je ne sais pas comment faire pour sauvegarder ces valeurs dans des variables au moment du clique sur mon bouton.
    Faut il que je recrée une discussion ou alors quelqu'un pourrait m'aider ici?
    Merci beaucoup

    Voici mon code :
    L'userform3 est un userform que j'ai crée a part mais qui est vide (je le dimenssionne lors de l'éxécution de ma macro.

    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
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    Sub Test()
     
    Dim MonLabel As Object
    Dim MaTextBox As Object
     
    PositionTop = 10
    For Ctr = 1 To ActiveSheet.UsedRange.Rows.Count
     
        Set MaTextBox = UserForm3.Controls.Add("Forms.TextBox.1")
        Set MonLabel = UserForm3.Controls.Add("Forms.label.1")
        With MonLabel
            .Caption = ActiveSheet.UsedRange.Cells(Ctr, 1).Value
            .Height = "16"
            .Top = PositionTop + 2
            .Width = "180"
            .Left = "60"
        End With
     
        With MaTextBox
            .Height = "16"
            .Top = PositionTop
            .Width = "26"
            .Left = "20"
            .Name = "TextBox" & Ctr
        End With
     
        PositionTop = PositionTop + 24
     
    Next
     
        With UserForm3
            .Height = PositionTop + 50
            .Width = "260"
            .Caption = "Saisie du compte de référence"
        End With
     
        With UserForm3.CommandButton1
            .Caption = "OK"
            .Height = "24"
            .Top = PositionTop
            .Width = "96"
            .Left = "60"
        End With
    UserForm3.Show
     
    End Sub
    J'ai également joint mon fichier
    Fichiers attachés Fichiers attachés

  6. #6
    Membre averti
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    55
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2008
    Messages : 55
    Par défaut
    Bon du coup j'ai crée mon commandbutton sur mon userform et je change sa taille et sa position apres. Bref, le probleme que j'ai est que je ne sais pas comment récupérer les données de mes textbox. J'ai donc le code suivant pour mon clique :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Private Sub CommandButton1_Click()
     
    ActiveSheet.Cells(1, 3).Value = Me.TextBox1.Value
     
    End Sub
    Mais ca me met l'erreur suivante : Erreur de compilation : Membre de méthode ou de données introuvable. Et ca surligne en jaune TextBox1
    Merci d'avance

Discussions similaires

  1. Creation d'un vidéo à partir d'une animmation
    Par sbeclo007 dans le forum Qt Creator
    Réponses: 0
    Dernier message: 31/05/2011, 11h19
  2. Réponses: 4
    Dernier message: 23/01/2008, 12h16
  3. Réponses: 33
    Dernier message: 12/04/2006, 19h12
  4. [PDE] Creation de vues a partir d'une autre vue
    Par indoloic dans le forum Eclipse Java
    Réponses: 1
    Dernier message: 13/03/2006, 14h34
  5. Réponses: 18
    Dernier message: 08/08/2005, 20h52

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