Questions au sujet de codes VBA
Bonjour a toutes et tous, forum bonjour
Question (1) Les raccourcis
Excel 2007 a la lecture du code ou raccourci retransforme ou recompile les crochets [ ] en range, je suppose qu'il y va de même pour les raccourcis # , & , % , ! , $ , @. On y perds un peu son latin, si quelqu'un pouvait éclairer un peu ma lanterne.
Question (2) Programmation
En fait au niveau de la vitesse d'excécution du code, macro, comment est'il préférable de programmer pour un résultat correct.
Question (3) Test
Comment tester la mémoire occupé ou restant disponible par les variables, il y a-t-il une valeur a respectée valeur Mini ou Maxi
Question (4) Déclarer
Est'il possible dans un module de déclarer une bonne fois pour toute, toutes les variables en PUBLIC comme ca c'est valable pour tout le projet. Déjà vu dans un code long une dizaine de fois ( Dim z ).
Pourquoi ces questions, c'est que j'ai lu beaucoup choses et malheureusement les avis sur ces sujets et questions sont très partagés que ce sois sur le Net ou bien dans les livres récents.
D'avance merci a vous pour les éventuelles réponses car quitte a apprendre autant le faire bien dès le début.
Bonne journée a vous et merci de votre temps
Raymond
Edit Dan : modifié titre du sujet
Bonjour,
Excel 2007 a la lecture du code ou raccourci retransforme ou recompile les crochets [ ] en range, je suppose qu'il y va de même pour les raccourcis # , & , % , ! , $ , @. On y perds un peu son latin, si quelqu'un pouvait éclairer un peu ma lanterne.
Si excel transforme les crochets en RANGE, c'est tant mieux. Cela veut dire la même chose en fait mais les crochets ralentissent l'exécution du code (je l'ai déjà dit sur ce forum...). Peut-être que cela fait "bien" pour certains d'écrire comme cela mais dans l'esprit d'un forum cela n'aide personne.
En fait au niveau de la vitesse d'excécution du code, macro, comment est'il préférable de programmer pour un résultat correct.
Vois ma réponse ci-avant.
Comment tester la mémoire occupé ou restant disponible par les variables, il y a-t-il une valeur a respectée valeur Mini ou Maxi
Je ne vois pas l'intérêt mais par le menu Affichage dans VBA tu as diverses options disponibles pour vérifier l'exécution du code. Ce qu'il faut savoir c'est à quoi est attribuée la variable (texte, chiffre, etc...). POur ce qui est de la valeur min-max, je te dirai oui car le cas contraire ton code peu planter ou te renvoyer une erreur (ex une variable Byte va jusque 256. Si tu as 600 lignes à traiter excel refusera de la faire).
Est'il possible dans un module de déclarer une bonne fois pour toute, toutes les variables en PUBLIC comme ca c'est valable pour tout le projet. Déjà vu dans un code long une dizaine de fois ( Dim z ).
Oui tu peux les déclarer une fois pour toute dans ton projet. cela te permet d'ailleurs de ne pas répéter plusieures fois la même instruction. Exemple : si tu dois utiliser une variable de type Boolean tout au long de ton fichier. Tu en entête d'un module mettre ceci --> Public ok as boolean puis réutiliser le OK dans tes procédures. On pourrait aussi faire cela avec le nom d'une feuille --> Public Const shref As String = "Nom du fichier" puis utiliser SHREF dans tes procédures.
Voilà quelques explications qui je l'espère t'aiderons à répondre à tes questions.
Amicalement
Dan
Salut Dan, Salut Forum
Merci bien pour les réponses, j'ai bien compris et j'ai imprimer pour mémo perso.
Voila je vais regarder ca de plus près.
Encore merci Dan, je te souhaite une bonne fin d'après midi, au plaisir.
Raymond
re,
PAs de quoi. N'oublie pas de metter RESOLU sur le fil.
Amicalement
Dan
bonjour,
Euh... ça me parait un peu rapide comme réponse !
Les raccourcis :
On ne peut pas comparer le raccourci crochet [ ] et les raccourcis type de variables # , & , % , ! , $ , @.
Même en suposant (ce qui n'est pas prouvé) que le compilateur traduise le raccourci de ces derniers en As Integer ou As Long... cela ne se produit au maximum qu'une fois pour chaque variable au début de la procédure. Même en supposant qu'il y ait un grand nombre de variable dans tes déclarations, cette hypothétique traduction ne prendrait guère qu'un millième de seconde sur l'ensemble de la procédure.
Il n'en va pas de même du raccourci crochet qui peut se retrouver si l'on n'y prend pas garde dans une multitude de boucle... Chaque crochet dans une boucle For de plusieurs centaines de milliers de tours, ça peut prendre quand même quelques minutes dans le pire des cas...
On peut donc sans problème utiliser les symboles types de variables qui allègent considérablement les déclarations. Quand au symbole [ ] il convient de s'en méfier. A mon avis à n'utilser que dans des macros (de type RAZ) très courtes, n'exédant pas 5 ou 6 lignes et sans boucle.
Pour terminer, rappelons qu'il existe une instruction Def(type) pour tous les types de variables que j'utilise assez couramment et qui permet de typer assez facilement des variables nombreuses. (...)
Concernant les déclarations de variables et de constantes il convient d'être très circonspect : les déclarations Public, Const et Dim n'ont pas toute la même portée selon leur emplacement... Personnellement j'utilise de nombreux flag booléen (toujours Dim Y as boolean) il ne me viendrai pas à l'idée de le déclarer public...
En résumé les déclarations sont un exercice préliminaire accepté de bonne grâce y compris par les programmeurs expérimentés, il convient de ne pas trop essayer de jouer à l'apprenti sorcier dans cet exercice...
A+
Salut forum et tous le monde
Bonjour galopin01
Merci de ta réponse et de toutes ces précisions, je crois que tout compte fait chaqu'un a sa méthode et ces facons de faire, j'ai parcouru quelques sites sur excel et il n'y en a pas un qui soit du mème avis, idem dans les auteurs de livre ou de revue a 2 balles encore pire.
J'ai une documentation que je me suis faite au fil du temps et de nombreux bouts de codes mais rien ni personne explique la bonne facon de faire,
Je voulais me documenter car comme depuis quelques temps j'apprends seul, maintenant je commence a comprendre et j'y vois plus clair chaque jour.
J'ai passer une après midi complète a la fnac a lire tout ce que je trouvais sur VBA
et si j'avais acheter tous les livres il me fallait un 35 tonnes pour les ammener chez moi avec a la clef beaucoup de bla bla très peu d'exemple bref etc etc etc
C'est pas parce on de beaux outils flambant neuf qu'on est un bon ouvrier.
Merci beaucoup et bon 14 Juillet a toi et tous
Raymond
Bonjour,
Galopin, rapide (merci de la réflexion au passage..) mais succint pour quelqu'un qui demande une explication en tant que novice VBA.
Eliot, à la lecture du message de Galopin, je me rends compte qu'au point 1 (raccourcis) je ne t'avais rien dit au sujet des # , & , % , ! , $ , @ qui sont, comme Galopin le précise, des raccourcis utilsés notamment pour le nom des variables (ex : % pour Integer) . Pour ma part comme je l'ai dit avant je ne vois pas ce que cela apporte sinon le fait de devoir réfléchir un peu plus.
un lien que tu peux suivre aussi pour t'aider --> https://forum.excel-pratique.com/viewtopic.php?t=8069
Bonne journée à tous
Almicalement
Dan