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 :

[VBA-E] creer x Frames dans un Multipage


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
    Décembre 2003
    Messages
    22
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2003
    Messages : 22
    Par défaut [VBA-E] creer x Frames dans un Multipage
    Bonjour,
    J'ai passé tout mon aprés midi à chercher désespérement comment creer x Frames dans une Multipage sans succés hélas

    Je travail sur le Visual Basic Editor depuis Excel,
    dans un Multipage (page 1 ), l'utilisateur saisis un nombre x, lorsqu'il valide, je doit retrouver (sur la page 2) x Frames (contenant chacune des textbox etc...).

    Comment puis-je faire ?
    merci

  2. #2
    Expert confirmé

    Homme Profil pro
    Inscrit en
    Août 2005
    Messages
    3 317
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2005
    Messages : 3 317
    Par défaut
    bonsoir

    j'espere que cet exemple pourra t'aider

    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
     
    'dans un Userform :
    '1 multipage nommé Multipage1 , contenant 2 pages
    'dans la 1ere page : un Textbox1 et un CommandButton
    '
    'Saisissez dans le Textbox1 le nombre de frames à créer
    'puis lancez la procédure
    '
    Private Sub CommandButton1_Click()
    Dim Pge As Page
    Dim Frme As Control, TxtB As Control
    Dim x As Byte, j As Byte, i As Byte
     
    If TextBox1 = "" Or Not IsNumeric(TextBox1) Then Exit Sub
     
    x = TextBox1
    Set Pge = Me.MultiPage1.Pages(1) '2eme page du multipage
    For j = 1 To x 'boucle pour créer les frames
     
        Set Frme = Pge.Controls.Add("Forms.Frame.1")
     
        With Frme
        .Left = 10 + ((j - 1) * 100)
        .Top = 10
        .Width = 90
        .Height = 250
        End With
     
        For i = 1 To 5 'boucle pour créer les Textbox
            Set TxtB = Frme.Add("forms.Textbox.1")
            With TxtB
            .Left = 5
            .Top = 10 + ((i - 1) * 50)
            .Width = 75
            .Height = 30
            End With
        Next i
    Next j
    End Sub

    bonne soiree
    michel

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Décembre 2003
    Messages
    22
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2003
    Messages : 22
    Par défaut
    Merci Silky,
    Sa fonctionne a merveille et c'est ce que je voulait !

    Plus qu'un seul petit pribleme:
    Je configure la page 2 pour lui ajouter une Scrollbars verticale, mais elle ne "réagit" pas
    Pour êter plus précis, je n'ai pas le curseur dedans, le fait de cliquer sur les fléches haut ou bas ne changent rien.

    Comment configurer cette Scrollbar ?

    ps: sur VB6 c'est un jeu d'enfant mais la je ne retrouve pas les paramétres min, max etc...

  4. #4
    Expert confirmé

    Homme Profil pro
    Inscrit en
    Août 2005
    Messages
    3 317
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2005
    Messages : 3 317
    Par défaut
    bonjour

    pour parametrer le ScrollBar , tu peux tester :


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    Dim ScrlB As Control
     
    Set ScrlB = Frme.Add("forms.ScrollBar.1")
     
    With ScrlB
        .Left = 5
        .Top = 10
        .Width = 40
        .Height = 80
        .Object.Min = 0
        .Object.Max = 5
        .Object.Orientation = fmOrientationVertical
    End With


    bonne journée
    michel

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Décembre 2003
    Messages
    22
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2003
    Messages : 22
    Par défaut
    ok,
    j'arrive a peu près a comprendre le fonctionnement ^^

    un seul petit hic:
    Comment changer par la suite une propriété d'un objet creer comme précédement ?
    par exemple, comment changer la propriété top de la première frame crée lors de l'appui sur un bouton ou autre (se trouvant sur la page 2 ) ?

    j'ai tenté de modifier la déclaration de la frame crée en lui mettant un .name="test" & j
    aucune erreur a la compilation, mais lorsque j'execute le script, j'ai une erreur comme quoi il ne trouve pas l'objet :/
    merci

  6. #6
    Membre averti
    Profil pro
    Inscrit en
    Décembre 2003
    Messages
    22
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2003
    Messages : 22
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    x = TextBox1
    Set Pge = Me.MultiPage1.Pages(1) '2eme page du multipage
    For j = 1 To x 'boucle pour créer les frames
        Set Frme = Pge.Controls.Add("Forms.Frame.1")
        With Frme
            .Left = 20
            .Top = 40 + ((j - 1) * 190)
            .Width = 450
            .Height = 180
            .Caption = "Paramètres du coté n°" & j
        End With

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    Private Sub ScrollBar1_Change()
    If TextBox1 = "" Or Not IsNumeric(TextBox1) Then Exit Sub
    x = TextBox1
    For i = 1 To x
        Frme.Top = (i * 190) - ScrollBar1.Value
    Next i
    End Sub
    j'ai retenter plsusieurs possibilités et cette dernière est la plus concluante mais ne convient toujours pas...
    Lorsque je descend la scrollbar, je n'ai qu'une seule frame qui bouge et pas les x en même temps ...
    comment changer l'attribut top de toutes les frames crées ?

    merci

Discussions similaires

  1. [VBA-Excel] insertion de frame dans une frame
    Par Wini29 dans le forum Excel
    Réponses: 0
    Dernier message: 24/01/2013, 13h43
  2. creer un dossier dans outlook par VBA Excel
    Par guy68 dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 21/04/2008, 17h01
  3. creer un dossier dans outlook par VBA Excel
    Par guy68 dans le forum VBA Outlook
    Réponses: 11
    Dernier message: 20/04/2008, 07h33
  4. Réponses: 5
    Dernier message: 13/04/2007, 16h12
  5. [wxpython] creer deux panel dans une frame
    Par hysah dans le forum wxPython
    Réponses: 3
    Dernier message: 27/12/2005, 18h21

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