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 Discussion :

Petite question théorique sur les déclarations


Sujet :

VBA

  1. #1
    Membre régulier
    Homme Profil pro
    Inscrit en
    Janvier 2012
    Messages
    39
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Secteur : Santé

    Informations forums :
    Inscription : Janvier 2012
    Messages : 39
    Points : 80
    Points
    80
    Par défaut Petite question théorique sur les déclarations
    Bonjour,

    Montaigne répondit à Rabelais : « J'aime mieux une tête bien faite qu'une tête bien pleine » qui prétendait l’inverse.
    J’ajouterais mon grain de sel en synthétisant (oh ! J’espère que Mr de La Palice a de la place pour se retourner !) : il vaut mieux une tête bien faite et bien pleine .

    N’étant pas informaticien, et donc sans formation théorique, j’ai une petite question conceptuelle à vous soumettre. (un exemple étant mieux qu’un...)
    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
    Function fct_sPerso(vAriable...) As ...
    On Error GoTo Err1
     Dim sParam As String,  Data As ...         '<--------------
     ...
     Select Case Data
      Case A
      Case B
      Case C
        Dim db As Database, oRST as Recordset   '<--------------
         On Error GoTo Err2
         Set db = CurrentDb
         Set RstRisCaisse = oQDef.OpenRecordset()
         ...	 
         GoTo Sortie
     End Select
     
    Exit Function
     
    Sortie:
    On Error Resume Next
     oRST.Close: Set oRST = Nothing: Set ldb = Nothing
    Exit Function
     
    Err2:
      MsgBox err.Description, 16, "Erreur fct_sPerso Err2 : err N°" & err
      Resume Sortie 
    Err1:
     MsgBox err.Description, 16, "Erreur fct_sPerso Err1: err N°" & err
    Exit Function
    Certaines déclarations se trouvent en milieu de procédure.
    Me basant sur le faite que les déclarations réservent une place en mémoire, pourquoi les mettre au début si on n'est pas certain de les utiliser ?
    Merci de vos lumières.

    Alain.

  2. #2
    Rédacteur/Modérateur

    Avatar de Jean-Philippe André
    Homme Profil pro
    Architecte Power Platform, ex-Développeur VBA/C#/VB.Net
    Inscrit en
    Juillet 2007
    Messages
    14 656
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : Canada

    Informations professionnelles :
    Activité : Architecte Power Platform, ex-Développeur VBA/C#/VB.Net
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2007
    Messages : 14 656
    Points : 34 354
    Points
    34 354
    Par défaut


    Lors de l'apprentissage du code durant les cours de programmation, on a tendance à encourager les déclarations de variables en haut de code pour avoir une méthodologie de syntaxe. Comme toute variable utilisée est sensée etre déclarée, on peut par là même définir une zone de déclaration dans le code dans laquelle tout doit apparaitre.

    Les questions liées à l'espace mémoire dépend clairement des conditions d'utilisation (fortes contraintes, développement pour système embarqué, espace mémoire restreint) ainsi que du langage utilisé.

    L'avantage que je vois à tout déclarer en haut de code, et typiquement dans le cas d'espace mémoire restreint, et de voir tout de suite si tout l'espace nécessaire est dors et déjà réservé dans la mémoire, si tout fonctionne correctement.

    Une fois ces considérations vues, il est clair qu'aujourd'hui, la déclaration à la volée de variables, sur des machines présentant parfois plusieurs To d'espace disque peut paraitre évidente et simplifierait la vie du codeur

  3. #3
    Membre régulier
    Homme Profil pro
    Inscrit en
    Janvier 2012
    Messages
    39
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Secteur : Santé

    Informations forums :
    Inscription : Janvier 2012
    Messages : 39
    Points : 80
    Points
    80
    Par défaut
    Merci pour cette réponse rapide.

  4. #4
    Expert éminent
    Avatar de Didier Gonard
    Homme Profil pro
    Formateur Office et développeur VBA en freelance
    Inscrit en
    Février 2008
    Messages
    2 805
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Formateur Office et développeur VBA en freelance

    Informations forums :
    Inscription : Février 2008
    Messages : 2 805
    Points : 6 699
    Points
    6 699
    Par défaut
    Bonjour,

    Vu que nous parlons de VBA, pour moi c'est surtout dû à 2 points (1 seul en fait, le 2ème) :

    1 - pour une question de lisibilité, surtout en considérant le point 2

    2 - En VBA dès que tu fais un F8 (pas à pas) sur une procédure, tu peux remarquer dans la fenêtre variables locales (qui devrait toujours être utilisée à certains moments) que quelque soit l'endroit où tu déclares ta variable, l'interpréteur (si c'est lui) scanne toutes les variables et les prends en compte, c'est ce qui doit d'ailleurs permettre à Option Explicit de te signaler en 1er lieu les variables non déclarées.
    Donc tant qu'à faire privilégier la lisibilité et la maintenance....

    Cordialement,

    Ps : si le côté technique de la réponse = OK ou pas => pensez à cliquer sur les pouces et quand question résolue à la taguer résolue, et chaque action vous rapporte des points

    Didier

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Question théorique sur les éditeur WYSIWYG
    Par CactO_o's dans le forum Général JavaScript
    Réponses: 0
    Dernier message: 07/02/2010, 20h32
  2. Réponses: 15
    Dernier message: 04/08/2009, 00h08
  3. [PHP 5.0] question théorique sur les méthodes
    Par mariek dans le forum Langage
    Réponses: 6
    Dernier message: 20/02/2009, 09h41
  4. Réponses: 3
    Dernier message: 04/04/2008, 19h02
  5. Question théorique sur les normales
    Par Pedro dans le forum DirectX
    Réponses: 5
    Dernier message: 16/10/2005, 20h24

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