Excel VBA Les macros

Y compris Power BI, Power Query et toute autre question en lien avec Excel
Avatar du membre
paritec
Passionné d'Excel
Passionné d'Excel
Messages : 4'285
Appréciations reçues : 498
Inscrit le : 7 juin 2011
Version d'Excel : W10 - 2003 FR - 2010 FR

Message par paritec » 20 mai 2018, 10:27

Bonjour Christian Leclère le forum
Oui que l'autre gars ai décidé unilatéralement de te lâcher ne me surprend pas, quand on lit la teneur de tes réponses.
Tes fichiers que soit-disant tu allais repasser ils sont ou??
a+
papou :)
Des bonnes explications et des petits fichiers représentatifs vont nous aider à vous aider !!!!
M
MFerrand
Fanatique d'Excel
Fanatique d'Excel
Messages : 17'171
Appréciations reçues : 446
Inscrit le : 20 juillet 2015
Version d'Excel : 2010 FR

Message par MFerrand » 20 mai 2018, 11:52

Bonjour à tous...

J'ai relu ton post initial, j'ai réexaminé tes fichiers, et noté qu'en fait ta question ne portait que sur les commentaires ! ;;) ce qu'il m'est difficile de considérer comme une vrai question ! :)
Je note en outre que tu n'en es qu'au tout début d'une réalisation qui s'oriente vers un certain gigantisme ! :bof:
A ce titre : bon courage, parce que tu n'es pas encore au bout !

En ce qui concerne les commentaires, je suis sans doute atypique mais de façon générale je n'en mets pas ; dans les cas où j'en mets, c'est très limité et ne constitue en fait que des balises pour aller plus rapidement à tel ou tel point d'une macro un peu longue et composée de parties alternatives distinctes qui pourraient chacune faire l'objet de procédure individualisée. Je n'en mets pas parce que cela ne fournit quasiment jamais l'information explicative nécessaire, donc ne dispense pas de se pencher sur le code dont l'interprétation demeure à rechercher si on ne la connaît pas. Et si on place des explications suffisantes, le code devient impossible à lire, on passe son temps à chercher les lignes de code au milieu d'un texte.
Il m'arrive de fournir des explications à la demande, sous la forme macro commentée, c'est alors une version d'étude, pas celle sur laquelle on peut travailler efficacement. Et je conseille aux intéressés qui souhaitent malgré tout insérer des commentaires, de n'en mettre que pour les fragments de code qu'ils n'interprètent pas spontanément et ne sont pas en mesure de maîtriser, sous la forme aide-mémoire qui leur convient, et de les effacer au fil de leurs progrès en VBA...

Alors vouloir mettre des commentaires sur toutes les lignes, on le paiera largement par la difficulté qu'il y aura ensuite à travailler sur un tel code. Et quand on en arrive à commenter une ligne End If par 'Fin de condition..., cela frise le ridicule ! :lol:

Je pense par contre que ce à quoi devraient prioritairement s'attacher les débutants, c'est à indenter systématiquement leur code ! :wink: Je n'y ai pendant longtemps pas attaché une importance capitale (bien qu'ayant toujours indenté le code que je produisais, ayant appris à faire comme il était conseillé...) jusqu'au jour où ayant dû m'y reprendre à plusieurs fois pour arriver à lire (en décodant !) un fragment de code, je me suis mis à tester le temps mis pour lire en l'interprétant du code non indenté par rapport à un code indenté de taille comparable. Et je suis arrivé à la conclusion qu'un code non indenté me prenait 4 fois plus de temps en moyenne pour le lire qu'un code correctement indenté, et qu'avec du code particulièrement désorganisé, cela pouvait atteindre de l'ordre de 10 fois plus ! Ce qui je dois dire, m'a rendu particulièrement irritable à la vue de code non indenté, et quelque peu maniaque sur la question ! :mrgreen: A cause du temps que cela fait perdre... non pas que je soie productiviste, loin de là, je ne déteste pas du tout perdre du temps, j'adore même :D mais de façon ludique ou agréable, ce qui n'est vraiment pas le cas ici.

C'est un point, je crois, sur lequel tu devrais te pencher, une moitié de tes procédures ne sont pas indentées et l'autre moitié ne l'est que partiellement... En particulier, lorsqu'il n'y a pas de retrait initial de l'ensemble du code à l'intérieur de la déclaration qui encadre la procédure, pour ne laisser apparaître sans retrait que les étiquette de branchement, on a du mal à en cerner la structure d'un seul et premier coup d'oeil... Et si on ajoute des lignes sautées dans la procédure alors que les procédures sont accolées les unes aux autres, on obtient une confusion accrue, et on laissera passer des erreurs qui auraient dû être perçues visuellement, et cela compliquera le débogage...

Pour les noms qui nous ont fait tiquer, si les motifs qui président à leur formation sont différents, cela rejoint en fin de compte la même problématique, plus un nom est long, plus il recèle de risques d'erreurs, et donc de temps perdu inutilement ! ce que Paritec a parfaitement souligné !
Et j'ajouterais volontiers que plus il est long, plus cela prend de temps à l'écrire, car on risque de l'écrire un bon nombre de fois dans un programme, et ce n'est plus négligeable...

Il y aurait encore bien des choses à dire mais j'ai déjà été assez long pour cette fois ! :wink:
Cordialement.
B
BUDGETS
Jeune membre
Jeune membre
Messages : 18
Inscrit le : 18 juillet 2014
Version d'Excel : 2010 FR

Message par BUDGETS » 20 mai 2018, 15:21

Je n'ai pas compris ta réponse. De plus, j'ai regardé les liens et ça renvoie à des discussions sur un
autre site.
Je t'envoie le fichier à partir duquel j'ai commencé à refaire mon fichier comptabilité.
comptabilité 10.xlsm
(82.38 Kio) Téléchargé 8 fois
ci-joint mon fichier comptabilité
comptabilité.xlsm
(79.94 Kio) Téléchargé 6 fois
ci-joint mon fichier Menus 2018 qui sert de base pour les fichiers comptabilité 10 et comptabilité.
MENUS 2018.xlsm
(334.29 Kio) Téléchargé 6 fois
Bonne après-midi.
Christian LECLÈRE
M
MFerrand
Fanatique d'Excel
Fanatique d'Excel
Messages : 17'171
Appréciations reçues : 446
Inscrit le : 20 juillet 2015
Version d'Excel : 2010 FR

Message par MFerrand » 21 mai 2018, 03:04

Cela fait 2 fois que tu déclares ne pas comprendre ma réponse ! Décidément ! Ton auto-proclamation de programmeur ayant une certaine connaissance se révèle bien présomptueuse (qualificatif que s'était attribué Paritec pour tenter de te faire revenir à une plus juste appréciation à la suite de tes propos...) et ta connaissance incertaine.

Il y a aussi ce que tu prétends ne pas comprendre : j'ai placé des liens vers ta multitude d'ouvertures de discussion sur ton même fichier, pour que chacun puisse aller se rendre compte de ce qu'il en est et puisse avoir connaissance des éléments que tu n'as pas indiqués sur ce Forum-ci.
J'ajoute que la lecture en est fort intéressante, en raison de la qualité et de la clairvoyance de tes interlocuteurs, et qu'elle est édifiante. :mrgreen:
B
BUDGETS
Jeune membre
Jeune membre
Messages : 18
Inscrit le : 18 juillet 2014
Version d'Excel : 2010 FR

Message par BUDGETS » 21 mai 2018, 17:55

Inutile de me recontacter puisque vous ne voulez pas, à tous ceux que vous êtes, me commenter mes macros. Il ,n'y a que cela qui m'intéresse.
Christian LECLÈRE
B
BUDGETS
Jeune membre
Jeune membre
Messages : 18
Inscrit le : 18 juillet 2014
Version d'Excel : 2010 FR

Message par BUDGETS » 29 mai 2018, 00:07

Je viens de relire ton long commentaire. Indenter : certes mais je suis pas assez professionnel pour le faire correctement. J'ai proposé deux solutions et je n'ai eu que des réponses désagréables qui n'apportaient aucune solution. Je me permets donc de redire ce que je cherche :
1) dans les feuilles codes, pour chaque instruction des macros, expliquer son fonctionnement;
2) Dans la feuille explications, pour chaque instruction des macros, expliquer son fonctionnement.
Dernier point : je ne demande pas qu'on me fasse un nouveau programme.
Bonnes soirée et continuation.
Christian LECLÈRE
Avatar du membre
Patrice33740
Membre dévoué
Membre dévoué
Messages : 559
Appréciations reçues : 47
Inscrit le : 27 juillet 2014
Version d'Excel : FR, 2007, 2003, 2013, 2016

Message par Patrice33740 » 4 juillet 2018, 22:19

Bonjour à tous, et bienvenue au club !

@Christian LECLÈRE

Bonjour,

Etant donné que tu fais un travail strictement personnel à titre purement culturel, je ne comprends pas pourquoi tu cherches à ajouter des commentaires explicatifs très détaillés sur des macro développées par d'autres que tu as du mal à comprendre (si tu les comprenais tu ne demanderais pas qu'on vérifie tes explications).
Ne serait-il pas beaucoup plus valorisant de partir de zéro et d'essayer petit à petit d'écrire tes propres macros et de comprendre chaque instruction du code VBA que tu emploies : il n'y aurait plus besion de commentaires aussi détaillés.
Cordialement
Patrice

Personne ne peut détenir le savoir, c'est pour ça qu'on le partage.
Répondre Sujet précédentSujet suivant
  • Sujets similaires
    Réponses
    Vues
    Dernier message