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

VBA Access Discussion :

[VBA]dimensionnement dynamique des controles


Sujet :

VBA Access

  1. #1
    Membre régulier
    Inscrit en
    Juin 2006
    Messages
    183
    Détails du profil
    Informations forums :
    Inscription : Juin 2006
    Messages : 183
    Points : 76
    Points
    76
    Par défaut [VBA]dimensionnement dynamique des controles
    Bonjour,


    je rencontre des problèmes à la création d'un controle car je n'arrive pas à bien positionner le controle.
    Je pense que c'est plus un problème d'algorithme qu'autre chose.
    En fait, je crée des textbox en fonction d'une variable integer nb

    De là, je créé 3 textbox si nb vaut 3 ou 20 si nb vaut 20.
    J'ai un controle boite qui doit s'agrandir dynamiquement en fonction du nombre de textbox mais je n'arive pas à trouver une formule qui le fait correctement(ça fait plusieurs jours que je tente pas mal de trucs avec des modulo, ou division).

    voici mon code

    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
    entDonnéeX = 280
    entDonnéeY = 200
    'création d'un controle boite
    Set ctlboite = CreateControl("frm_tableau", acRectangle, , "", "", _
    entDonnéeX, entDonnéeY)
        ctlboite.name = "boite_tab"
        ctlboite.BackStyle = 1
        ctlboite.BorderStyle = 1
        ctlboite.BorderColor = "13936755"
        ctlboite.BackColor = "15590879"
        ctlboite.Width = 8400
         ctlboite.Height = 1000*nb
     
    'créationd es textobox
    While j < nb + 1
       i = 0
     
            Call createLabel(entDonnéeX, entDonnéeY, avant + j, "clt_" & j)
     
     
            entDonnéeY = entDonnéeY + 1700
            Call createText(entDonnéeX, entDonnéeY, "txt_" & i & "_" & j)
     
            i = i + 1
            entDonnéeY = entDonnéeY + 1700
            Call createText(entDonnéeX, entDonnéeY, "txt_" & i & "_" & j)
     
            i = i + 1
          entDonnéeY = entDonnéeY + 1900
            Call createText(entDonnéeX, entDonnéeY, "txt_" & i & "_" & j)
     
        i = i + 1
        j = j + 1
         entDonnéeX = entDonnéeX + 400
         entDonnéeY = 1300
    Wend

    Qd nb est trop petit la boite l'est aussi et qd nb est grand la boite est trop grande.

    Toute idée est la bienvenue
    (peut-être devrais-je poster cette discussion dans une reubrique "algorithme?

    merci

  2. #2
    Membre régulier
    Inscrit en
    Juin 2006
    Messages
    183
    Détails du profil
    Informations forums :
    Inscription : Juin 2006
    Messages : 183
    Points : 76
    Points
    76
    Par défaut
    personne n'a d'idées?

Discussions similaires

  1. Supprimer dynamiquement des controles
    Par vciofolo dans le forum IHM
    Réponses: 2
    Dernier message: 03/05/2007, 10h28
  2. Ajouter dynamiquement des controles.
    Par hopsoid dans le forum MFC
    Réponses: 16
    Dernier message: 05/09/2006, 18h18
  3. [VBA-E] collection des controles formulaire
    Par borisa dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 02/03/2006, 18h22
  4. [VBA Excel] Fiabilité des controles Actives X
    Par Farbin dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 26/08/2005, 12h28
  5. [VBA-E] Est il possible de creer dynamiquement des controles en VBA
    Par bbkenny dans le forum Macros et VBA Excel
    Réponses: 12
    Dernier message: 13/08/2004, 20h04

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