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] Syntaxe déclarative de contrôles


Sujet :

VBA Access

  1. #1
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Janvier 2011
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2011
    Messages : 3
    Points : 1
    Points
    1
    Par défaut [VBA] Syntaxe déclarative de contrôles
    Bonjour à tous

    J'ai une petite question qui se pose à moi maintenant alors que je programme depuis pas mal d'années.

    Quand on écrit

    maVariable = monControleFormulaire.value

    y a t il un intérêt particulier (performance par exemple) à ajouter le ".value", puisque, dans les faits,

    maVariable = monControleFormulaire.value
    et
    maVariable = monControleFormulaire

    revienne au même point ???

    Merci d'avance

  2. #2
    Membre expert
    Avatar de FreeAccess
    Homme Profil pro
    Un monde ou prendre est plus facile qu'apprendre.
    Inscrit en
    Mars 2006
    Messages
    2 745
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Un monde ou prendre est plus facile qu'apprendre.

    Informations forums :
    Inscription : Mars 2006
    Messages : 2 745
    Points : 3 834
    Points
    3 834
    Par défaut
    Bonjour,

    Au niveau performance, je ne sais pas....

    Par contre un contrôle n'a pas qu'une propriété "Value".. ....et l'on peut très bien vouloir récupérer, par exemple, la propriété Tag, Caption, Visible....applicable à ce contrôle..
    FreeAccess
    "Petit à petit l'araignée tisse sa toile"

  3. #3
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Janvier 2011
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2011
    Messages : 3
    Points : 1
    Points
    1
    Par défaut
    Merci de ta réponse

    Il est vrai que pour une autre propriété comme ".name" par exemple c'est vraiment indispensable, mais pour le ".value" je me demande bien s'il y a un intérêt.
    J'avoue que jusqu'à maintenant je ne l'utilisais pas.
    Je crois que je suis en train de faire une crise mystique

  4. #4
    Membre émérite
    Homme Profil pro
    tripatouilleur de code pour améliorer mon quotidien boulistique
    Inscrit en
    Février 2008
    Messages
    939
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : tripatouilleur de code pour améliorer mon quotidien boulistique
    Secteur : Enseignement

    Informations forums :
    Inscription : Février 2008
    Messages : 939
    Points : 2 287
    Points
    2 287
    Par défaut
    Bonjour


    Si j'ai bien compris les quelques petites choses que j'ai lu, la propriété par défaut d'un contrôle est le ".value". On peut donc l'omettre.

    Au niveau des performances, aucune idée précise, même si logiquement l'ajout de ".value" doit être plus long à traiter (mais est-ce significatif?)

    Par contre, au du code, c'est de la frappe en moins.

    Pierre

  5. #5
    Membre confirmé Avatar de Tonioyo
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juin 2008
    Messages
    343
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Juin 2008
    Messages : 343
    Points : 518
    Points
    518
    Par défaut
    Bonjour,

    D'après ce que je sais sur la compilation Visual Basic, je ne pense pas qu'il y ai perte ou gain de perfomances.

    Un objet (au sens large du terme) peu posséder une propriété par défaut. La propriété au sens VBA du terme est en réalité un accesseur (méthode get / set ou let).

    Il est rendu possible l'omission de cette propriété par défaut car durant la compilation du pseudo-code (ou code MSIL - Microsoft Intermediate Language) et plus précisément à l'édition de liens les bons symboles seront insérés correctement. Ensuite c'est la machine virtuelle qui interprète le pseudo-code.

    Donc à priori, il n'y a pas de gain de performance. Après c'est un style d'écriture. Soit on souhaite être explicite généralement par nécessité soit on ne l'écrit pas ce qui éventuellement représente un gain de temps lors de l'écriture du code.

    PS: Je dois écrire un article sur le sujet mais je manque actuellement de temps.

    Cordialement,
    loi de LeBlanc : Plus tard signifie jamais. extrait de Coder proprement Auteur:Robert C. Martin

  6. #6
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Janvier 2011
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2011
    Messages : 3
    Points : 1
    Points
    1
    Par défaut
    Bonjour à tous

    Merci beaucoup à vous tous pour ces explications.
    Je me posais cette question, entre autres, car j'ai entrepris d'optimiser une application qui a 10 ans d'existance.
    J'ai vu que le fait de faire précéder les nom de contrôles par le préfixe "Me." accélérait les traitements, chose que je ne faisais pas. De là est venue cette question.
    A force de programmer de la même manière on peut prendre de mauvaises habitudes
    Encore merci à vous tous

  7. #7
    Membre confirmé Avatar de Tonioyo
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juin 2008
    Messages
    343
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Juin 2008
    Messages : 343
    Points : 518
    Points
    518
    Par défaut
    Bonjour,

    A force de programmer de la même manière on peut prendre de mauvaises habitudes?
    Je pense sincèrement que le plus important pour un développeur est son ouverture d'esprit. En fonction du temps les méthodes et les techniques changent et ce quelque soit le métier.

    Il est certain qu'au bout d'un moment nous finissons tous par prendre quelques mauvaises habitudes, comme lorsque l'on est au volant par exemple.

    Se remettre en cause est toujours le premier pas vers l'évolution.

    Tout ceci est un avis subjectif. Après chacun vois midi à sa porte
    loi de LeBlanc : Plus tard signifie jamais. extrait de Coder proprement Auteur:Robert C. Martin

Discussions similaires

  1. [VBA-E] Supprimer un contrôle d'une userform
    Par cwain dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 10/04/2006, 12h00
  2. [VBA-E]insérer un contrôle sur un spreadsheet
    Par delamarque dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 17/02/2006, 17h51
  3. [VBA Excel] Créer plusieurs contrôles dynamiquement
    Par loacast dans le forum Macros et VBA Excel
    Réponses: 10
    Dernier message: 08/12/2005, 17h27
  4. Sécurité et VBA - Affichage conditionnel de contrôles
    Par Thomas JOUANNOT dans le forum Sécurité
    Réponses: 5
    Dernier message: 23/11/2005, 17h13
  5. [vba] Faire varier un contrôle?
    Par decour dans le forum Access
    Réponses: 5
    Dernier message: 28/10/2005, 17h25

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