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 :

[macro Excel] formalisme


Sujet :

Macros et VBA Excel

  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2004
    Messages
    113
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2004
    Messages : 113
    Par défaut [macro Excel] formalisme
    Salut à tous,

    je viens ici chercher l'inspiration...

    Voilà je me demande si vous auriez de bons conseils pour la forme à utiliser pour la description d'une macro Excel.

    Pour que se soit lisible, clair et pourquoi pas joli !

    Merci d'avance

  2. #2
    Membre chevronné

    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    453
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2004
    Messages : 453
    Par défaut
    Ben, pour commencer, tu peux mettre la description en commentaire sous la ligne Sub ou Function.

    Dans ce commentaire, tu dois décrire ce que fait ta macro en nommant les paramètres utilisés et, en terminant, tu dois indiquer le type de valeur renvoyée par une Function ainsi que chaque valeur dépendante des conditions.

    Et, pourquoi pas, mets aussi la date de création et de dernière modification à la fin ainsi que le nom du programmeur dans chaque cas.

    Un peu d'aération dans le texte aide aussi...

    Petit exemple de fonction presque inutile:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    Function EstLeChiffreEnChaine(ByRef ChiffreChaine As String, ByVal ChiffreNum As Integer) As Boolean
    ' Cette fonction compare la chaine ChiffreChaine avec l'entier ChiffreNum.
    '
    ' Elle renvoit un valeur de type Boolean : VRAI (True) si la chaine représente
    '   la valeur du chiffre, et FAUX (False) dans le cas inverse.
    '
    ' Date de création :                21 novembre 2007    par Singular
    ' Date de dernière modification :   22 novembre 2007    par Singular
     
        EstLeChiffreEnChaine = IIf(CInt(Trim(ChiffreChaine)) = ChiffreNum, True, False)
    End Function

  3. #3
    Membre éclairé Avatar de laloune
    Homme Profil pro
    Consultant en Business Intelligence
    Inscrit en
    Mai 2005
    Messages
    487
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : Allemagne

    Informations professionnelles :
    Activité : Consultant en Business Intelligence

    Informations forums :
    Inscription : Mai 2005
    Messages : 487
    Par défaut
    Citation Envoyé par Singular Voir le message
    Un peu d'aération dans le texte aide aussi..
    je dirais même plus, dupond, que c'est complètement indispensable, surtout pour les macros super longues... Le plus critique étant les tabulations lorsqu'on a une condition, une boucle, un with...

    et commenter, pour les suivants :-)

    mais bon ca n'est que l'avis d'un humble "codeur" dont ce n'est pas la formation...

  4. #4
    Membre chevronné

    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    453
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2004
    Messages : 453
    Par défaut
    Envoyé par laloune, ci-haut:
    Le plus critique étant les tabulations lorsqu'on a une condition, une boucle, un with...
    Je n'avais pris en compte que la description de la macro mais, oui, les commentaires et la rigueur des indentations sont tout aussi importants pour la compréhension du code.

    J'ai aussi pris comme habitude de mettre en commentaire les Ifs, Fors, Dos, et Whiles à la suite des
    End Ifs, Nexts, Loops, et Wends auxquels ils se rapportent dans les macros complexes...

    Exemple:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    Do While 1 = 1
      blablabla
      taratata
      ... longue séquence de code
    Loop ' Do While 1 = 1
    ...histoire de ne pas me casser la tête trop longtemps en cas d'erreur de logique.

    NB: D'une certaine manière, cette discussion devrait être déplacée dans une catégorie plus générale sur le guide du parfait petit programmeur...
    Dans Général Développement/Langages en général, par exemple.

  5. #5
    Membre éclairé Avatar de laloune
    Homme Profil pro
    Consultant en Business Intelligence
    Inscrit en
    Mai 2005
    Messages
    487
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : Allemagne

    Informations professionnelles :
    Activité : Consultant en Business Intelligence

    Informations forums :
    Inscription : Mai 2005
    Messages : 487
    Par défaut
    ah bien vu l'indien ! tout simple mais puissant... et terriblement utile

    thx verre e-mouche

  6. #6
    Membre éclairé
    Profil pro
    Inscrit en
    Août 2007
    Messages
    55
    Détails du profil
    Informations personnelles :
    Âge : 69
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 55
    Par défaut
    bonjour

    j'aime bien les # pour les en tetes de macro et les * pour les en tetes de chapitres
    d'autres car peuvent rendre la lecture du code agreable

    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
    Sub detest()
    '
    ' ###################################################
    ' detest Macro
    ' Macro enregistrée le 17/09/2004 par GERARD 
    ' Le but de ce programme est de deproteger des 12 feuilles du classeur 
    ' 
    ' ###################################################
    '
    ' 
    ' *********************************************************
    ' déclaration des variables
    ' *********************************************************
    '
    'variable de formule
    dim mavar as string
    '
    '

    cordialement
    GERARD

Discussions similaires

  1. Supression de macro Excel et module en VBA
    Par Sammy dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 17/10/2005, 10h25
  2. Macro excel perso.xls et évènement commandButton1_click()
    Par Annie dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 30/09/2005, 19h05
  3. [macro Excel]
    Par Mugette dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 15/09/2005, 09h54
  4. débutant en VBA je n'arrive pas à finir ma macro excel
    Par jeanpierreco dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 19/01/2005, 12h20
  5. Porter une macro Excel vers OpenOffice
    Par totofweb dans le forum Applications et environnements graphiques
    Réponses: 3
    Dernier message: 13/07/2004, 13h20

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