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

Access Discussion :

[VBA] Utilisation CreateControl()


Sujet :

Access

  1. #1
    Membre confirmé
    Avatar de erfindel
    Homme Profil pro
    Inscrit en
    Janvier 2007
    Messages
    498
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Janvier 2007
    Messages : 498
    Points : 489
    Points
    489
    Par défaut [VBA] Utilisation CreateControl()
    Bonjour voila je voudrais créer 3 trait j'ai donc écrit ce code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    Private Sub create_fleche()
     
    Set trdroit = CreateControl(Me.Organigramme(CtlTab11), acTrait, acDetail, 150, 150, 500, 500)
     
    Set trgauche = CreateControl(Me.Organigramme(CtlTab11), acTrait, acDetail, 200, 200, 500, 500)
     
    Set trcorps = CreateControl(Me.Organigramme(CtlTab11), acTrait, acDetail, 300, 300, 500, 500)
     
     Dim flechex As New fleche
     fleche = traceflch(Taille, Angle)
     
    End Sub
    J'ai donc 3 trait :
    1. trDroit
    2. trGauche
    3. TrCorps


    Je voudrai les créer dans mon formulaire organigramme, d'où le Me.organigramme, je voudrai les créer dans une fenêtre qui s'appelle CtlTab11 (déjà créer) le problème est que je n'arrive pas à faire fonctionner ce code il me sort une erreur sur ma première ligne. En ayant chercher sur le net et notre capains google je ne trouve rien qui parle de la syntaxe exact de CreateControl()

    Je fais donc appelle à vous, merci par avance...

  2. #2
    Expert éminent
    Avatar de cafeine
    Inscrit en
    Juin 2002
    Messages
    3 904
    Détails du profil
    Informations forums :
    Inscription : Juin 2002
    Messages : 3 904
    Points : 6 781
    Points
    6 781
    Par défaut
    Hello,

    intuitivement (donc non testé), j'aurais essayé plutôt de jouer sur la propriété .Parent

  3. #3
    Membre confirmé
    Avatar de erfindel
    Homme Profil pro
    Inscrit en
    Janvier 2007
    Messages
    498
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Janvier 2007
    Messages : 498
    Points : 489
    Points
    489
    Par défaut
    Citation Envoyé par cafeine
    Hello,

    intuitivement (donc non testé), j'aurais essayé plutôt de jouer sur la propriété .Parent

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    Set trdroit = CreateControl(CtlTab11.Parent, acTrait)
        With trdroit
            .Name = "trdroit" 'lui affecte un nom
            .Left = 500       'le positionne sur le trait à 500 du Bord gauche
            .Width = 250      'définir la largeur de la flèche
        End With
    Sa doit ressembler a un truc comme ça alors?

  4. #4
    Membre confirmé
    Avatar de erfindel
    Homme Profil pro
    Inscrit en
    Janvier 2007
    Messages
    498
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Janvier 2007
    Messages : 498
    Points : 489
    Points
    489
    Par défaut
    Il me dit un truc

    Erreur d'exécution '450' :

    Nombre d'arguments incorrect ou affectation de propriété incorrecte

  5. #5
    Expert éminent
    Avatar de cafeine
    Inscrit en
    Juin 2002
    Messages
    3 904
    Détails du profil
    Informations forums :
    Inscription : Juin 2002
    Messages : 3 904
    Points : 6 781
    Points
    6 781
    Par défaut
    Non, non

    ça se gère comme ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Dim toto As Control
    set toto = CreateControl (forms(0).Name, actextbox, acDetail, _
          Forms(0).Controls("Page4").Name, , 0, 0, 3800, 1400)

    Forms(0).Controls("Page4").Name est le parent du controle, ça veut dire que le controle sera contenu dans la Page4 d'un onglet par exemple.

  6. #6
    Membre confirmé
    Avatar de erfindel
    Homme Profil pro
    Inscrit en
    Janvier 2007
    Messages
    498
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Janvier 2007
    Messages : 498
    Points : 489
    Points
    489
    Par défaut
    ah oki une autre question et je test sa tous de suite à quoi correspond le acDetail?

  7. #7
    Expert éminent
    Avatar de cafeine
    Inscrit en
    Juin 2002
    Messages
    3 904
    Détails du profil
    Informations forums :
    Inscription : Juin 2002
    Messages : 3 904
    Points : 6 781
    Points
    6 781
    Par défaut
    La constante Access de la section Détail
    Citation Envoyé par erfindel
    ah oki une autre question et je test sa tous de suite à quoi correspond le acDetail?

  8. #8
    Membre confirmé
    Avatar de erfindel
    Homme Profil pro
    Inscrit en
    Janvier 2007
    Messages
    498
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Janvier 2007
    Messages : 498
    Points : 489
    Points
    489
    Par défaut
    Citation Envoyé par cafeine
    Non, non

    ça se gère comme ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Dim toto As Control
    set toto = CreateControl (forms(0).Name, actextbox, acDetail, _
          Forms(0).Controls("Page4").Name, , 0, 0, 3800, 1400)

    Forms(0).Controls("Page4").Name est le parent du controle, ça veut dire que le controle sera contenu dans la Page4 d'un onglet par exemple.


    Donc si j'ai bien compris :


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Dim toto As Control
    set toto = CreateControl (forms(0).Name, actextbox, acDetail, _
          Forms(0).Controls("Page4").Name, , 0, 0, 3800, 1400)
    forms(0).Name = Le nom de ma form
    Forms(0).Controls("Page4").Name = le nom de ma fenetre et onglet ou va se situer la flèche.

    donc :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Dim trcorps As Control
    set trcoprs = CreateControl (organigramme, acline, acDetail, _
          Forms(0).Controls("Organigramme").ctlTab11, , 0, 0, 3800, 1400)
    Car l'onglet s'appelle aussi organigramme

  9. #9
    Expert éminent
    Avatar de cafeine
    Inscrit en
    Juin 2002
    Messages
    3 904
    Détails du profil
    Informations forums :
    Inscription : Juin 2002
    Messages : 3 904
    Points : 6 781
    Points
    6 781
    Par défaut
    non, il faut que le form et le parent soient désignés par leur nom ...

    c'est pour ça que j'avais mis .Name

  10. #10
    Membre confirmé
    Avatar de erfindel
    Homme Profil pro
    Inscrit en
    Janvier 2007
    Messages
    498
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Janvier 2007
    Messages : 498
    Points : 489
    Points
    489
    Par défaut
    Donc si j'ai bien compris :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Dim trcorps As Control
    set trcorps = CreateControl (forms(0).organigramme , acLine, acDetail, _ Forms(0).Controls("CtlTab11").organigramme, , 0, 0, 3800, 1400)

  11. #11
    Expert éminent
    Avatar de cafeine
    Inscrit en
    Juin 2002
    Messages
    3 904
    Détails du profil
    Informations forums :
    Inscription : Juin 2002
    Messages : 3 904
    Points : 6 781
    Points
    6 781
    Par défaut
    Désolé, non ...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    set trcorps = CreateControl ("organigramme" , acLine, acDetail, "CtlTab11", , 0, 0, 3800, 1400)

  12. #12
    Membre confirmé
    Avatar de erfindel
    Homme Profil pro
    Inscrit en
    Janvier 2007
    Messages
    498
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Janvier 2007
    Messages : 498
    Points : 489
    Points
    489
    Par défaut
    Merci je suis pas très doué

    Mais aïe il me que les contrôles ne peuvent êtres créers ou supprimés qu'en mode Création.


    Sa ne veut pas dire que je ne pas gérer la création de trait ??

  13. #13
    Expert éminent
    Avatar de cafeine
    Inscrit en
    Juin 2002
    Messages
    3 904
    Détails du profil
    Informations forums :
    Inscription : Juin 2002
    Messages : 3 904
    Points : 6 781
    Points
    6 781
    Par défaut
    Ah ben oui, il fallait peut être commencer par là ...

    Pas de création de contrôle hors du mode conception.

    Sinon tu peux utiliser des solutions comme celle d'Arkham ou la mienne pour dessiner avec les APIs.

    Citation Envoyé par erfindel
    Merci je suis pas très doué

    Mais aïe il me que les contrôles ne peuvent êtres créers ou supprimés qu'en mode Création.


    Sa ne veut pas dire que je ne pas gérer la création de trait ??

  14. #14
    Membre confirmé
    Avatar de erfindel
    Homme Profil pro
    Inscrit en
    Janvier 2007
    Messages
    498
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Janvier 2007
    Messages : 498
    Points : 489
    Points
    489
    Par défaut
    Je me sent rouler la

    Non la solutions pour dessiner les APIs ne correspond pas à mon besoin mais je cherche encore

  15. #15
    Expert éminent
    Avatar de cafeine
    Inscrit en
    Juin 2002
    Messages
    3 904
    Détails du profil
    Informations forums :
    Inscription : Juin 2002
    Messages : 3 904
    Points : 6 781
    Points
    6 781
    Par défaut
    Tu n'es pas roulé, c'est le fonctionnement normal d'Access.

    Citation Envoyé par erfindel
    Je me sent rouler la

    Non la solutions pour dessiner les APIs ne correspond pas à mon besoin mais je cherche encore

  16. #16
    Membre confirmé
    Avatar de erfindel
    Homme Profil pro
    Inscrit en
    Janvier 2007
    Messages
    498
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Janvier 2007
    Messages : 498
    Points : 489
    Points
    489
    Par défaut
    Citation Envoyé par cafeine
    Tu n'es pas roulé, c'est le fonctionnement normal d'Access.
    Ben j'avais pas penser à cette hypothèses la !

  17. #17
    Expert confirmé

    Homme Profil pro
    consultant développeur
    Inscrit en
    Mai 2005
    Messages
    2 912
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : consultant développeur
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2005
    Messages : 2 912
    Points : 4 811
    Points
    4 811
    Par défaut
    Est-ce suffisant ? :
    tu dessines en mode Design
    puis tu reviens en mode normal ...

  18. #18
    Membre confirmé
    Avatar de erfindel
    Homme Profil pro
    Inscrit en
    Janvier 2007
    Messages
    498
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Janvier 2007
    Messages : 498
    Points : 489
    Points
    489
    Par défaut
    ah non ce n'est pas suffisant du tout! car l'application va etre utiliser par normalement 600 personnes de tous niveaux je ne veux pas et elle n'ont pas le droit de modifier l'application


    Vive le stage

  19. #19
    Expert confirmé

    Homme Profil pro
    consultant développeur
    Inscrit en
    Mai 2005
    Messages
    2 912
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : consultant développeur
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2005
    Messages : 2 912
    Points : 4 811
    Points
    4 811
    Par défaut
    Tu passes en mode Design
    tu dessines tes traits
    puis tu reviens en mode normal ..
    Bien sur c'est à faire en VBA

Discussions similaires

  1. [VBA] utilisation de thread
    Par nemesys971 dans le forum VBA Access
    Réponses: 19
    Dernier message: 10/10/2008, 10h49
  2. [VBA] Utilisation de DAO.recordset
    Par kissmytoe dans le forum Access
    Réponses: 2
    Dernier message: 14/03/2006, 08h54
  3. [VBA] utiliser une macro contenue dans un autre classeur
    Par laloune dans le forum Macros et VBA Excel
    Réponses: 20
    Dernier message: 01/02/2006, 18h46
  4. [VBA]Utiliser les objet disponible d'un programme en VB
    Par seblefebvre dans le forum Général VBA
    Réponses: 13
    Dernier message: 01/02/2006, 10h34
  5. [EXCEL][VBA] Utilisation des formules Excel en VBA
    Par Amanck dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 27/12/2005, 15h08

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