Bonjour,
quelque soit l'heur origine, on retrouve bon nombre de développeuses senior, profiter de leurs ASCIDIC pour venir en aide aux novices sur les forums!
Version imprimable
Bonjour,
quelque soit l'heur origine, on retrouve bon nombre de développeuses senior, profiter de leurs ASCIDIC pour venir en aide aux novices sur les forums!
Profiter ne serait pas le mot juste mais ce n'est pas faux …
Pour recadrer sur « VBA n'est pas un langage professionnel ? » le sujet de cette discussion,
par analogie l'Inde me fait penser à des castes de développeurs :
pour une certaine caste non alors que pour les autres c'est oui …
Faut caster un entier en double ? :aie:
je confirme ,de plus l'outils lui même pourrait soulevé la question quand Patrick se bat avec le @ de son web mailleur?
quand le createobject pointe sur différentes définition du même composant et la je ne parle plus de version ou d'emplacement sur le disck.
je pratique Vb?? depuis 20 ans et j'espère avoir rendu des applications professionnelles. là pour moi n'est pas la question!
la vraie question c'est tout ce qu'il y a à coté et jusqu'aux donneurs d'ordre!
Oui le donneur d'ordre étant souvent la source du problème, comme déjà évoqué
l'exécuteur fait avec les moyens du bord (connaissances personnelles avec ce qu'il a sous le coude) …
Même si c'est pour ouvrir le lecteur CD en guise de porte-gobelets ‼ :ptdr: (discussion d'hier dans ce forum !)
3558,33% :plusser:
Oui je confirme VBA c'est vraiment professionnel!
PHP ???
On a une demande pour incorporer l'image d'une webcam dans un userform access ce matin, VBA n'a aucune limite :D
J'ai déjà vu la même demande pour Excel sur un forum étranger : malgré des liens sur ce qu'il fallait utiliser
le gars ne comprenait pas que l'on arrivait pas directement à lui fournir un code spécifique à sa WebCam
sans qu'il soit capable de clairement indiquer les informations la concernant !
Cela c'est réglé via un p'tit shareware créant une image à partir de la WebCam sur le disque dur.
Le gars pas content que cela ne soit pas en "direct live" …
Comme ici il s'agit d'Access la destination est certainement professionnelle !
Car on voit moins de carabistouilles dans Access que dans Excel, non ?
Disons que dans Access avant de pouvoir saisir il faut réfléchir, penser au projet dans sa globalité
pour déjà voir s'il tient la route et mettre en place les liens entre les différentes tables de données …
Dans Excel, pas besoin de réfléchir ! La saisie est directement disponible : on peut "bosser" de suite !
Même si sans réfléchir la plupart des temps les données ont été mal organisées,
obliger de monter une usine à gaz en VBA alors qu'avec un tant soit peu de jugeote
et une conception digne de ce nom un simple tableau croisé dynamique aurait fait l'affaire sans une ligne de code !
Lorsque j'était étudiant en informatique, on ne m'a jamais enseigné le VBA, car considéré comme "pas noble", sans trop savoir pourquoi au final. Cela continue aujourd'hui dans les filières informatique "pures". Le hasard a fait que j'ai été amené à enseigner le VBA Excel à des étudiants et des professionnels. Voir mon cours ici.
Et bien finalement, je suis forcé d'admettre que cette technologie n'est pas si mauvaise, voir même plutôt bonne, mais qu'elle souffre surtout de problèmes externes :
Les +
Le noyau du langage est tout à fait correct (structuration en module, nuance fonction/procédure, système de types, gestion d'erreurs, etc.) et son orientation objet n'a pas à rougir d'autres langages (classes, membres de classes, instanciation, public/private, getter/setter, auto-référence, classe d'énumération, etc.), avec un système d’événements qu'on appellerai "callbacks" aujourd'hui. Idem avec les appels asynchrones http à des webservices, qui avait fait le buzz en JavaScript avec "Ajax". Tout cela est présent, mais en plus discret.
Les -
La communauté historique qui utilise le VBA n'est pas informaticienne de formation. On y trouve pelle-mêle des gestionnaires, des comptables, des secrétaires et des scientifiques d'autres domaines. Il en résulte des tutoriels idiots (sans aucun recul sur ce qui est fait) et des forums pleins de codes absolument horribles. La permissivité de VB sur certaines notations objet n'a pas arrangé la chose je dois dire. De plus, l'existence d'un ovni appelé "enregistreur de macro" a enfoncé le clou, avec l'exploit de générer un code incompréhensible et de ne jamais avoir résolu le moindre problème algorithmique de la terre.
Mais ce qui a achevé VBA selon moi c'est un très mauvais "explorateur d'objets", une sorte de documentation de l'API Excel contenant d’innombrables inconsistances : des sub qui sont en fait des function et vice-versa, des types de retour non mentionnés, des types Object ou Variant (démerdez-vous avec ca !), des paramètres non typés ou oubliés, etc. Pendant ce temps là, l'API Java et son mécanisme JavaDoc produisait des documentations impeccables qu'exige la rigueur de la programmation.
Belle et objective analyse ! :plusser:
ce n'est pas le langage ou la langue qui compte....mais tout simplement ce qu'on a a dire....
un professionnel peu dire une grosse bêtise...et un amateur (comme moi :mouarf:) une bêtise encore plus grosse :ptdr:
@+JP
Bonjour,
Afin de conforter le fait que VBA peut être un langage de non professionnel mais aussi professionnel, je vous apporte mon témoignage.
J'ai une entreprise CAPMICRO depuis 1994 qui était spécialisée en formation bureautique notamment sur les logiciels Microsoft du débutant au programmeur
ainsi qu'une activité de développement ACCESS et EXCEL en VBA. Mon activité de formation s'est arrêtée en 2006 mais je continue à développer en VBA pour des entreprises comme EDF entre autre.
Je suis un retraité salarié (24 ans à IBM Corbeil-Essonnes production Semi-conducteur) et à mon licenciement économique en 1994, j'ai créé mon entreprise qui est toujours opérationnelle.
En tant que Gérant et unique développeur, à 70 ans, je réalise encore un chiffre d'affaire annuel de l'ordre de 40 000€.
DONC, le VBA peut être une source d'emploi professionnel à condition d'employer des méthodes de programmation structurées et surtout d'avoir une parfaite maîtrise de l'analyse.
ps: mon historique, programmation Fortran dés 1965 à l'INSA de Lyon, puis BASIC avec un ZX81 en 1981, tableur 123Lotus à IBM en 1980, Excel en 1985, DBase de 1985 à 1990 puis passage à ACCESS
le principal intérêt d'utiliser VBA en développement d'application pour une entreprise, est d'obtenir une appli bon marché, rapidement mise en place, avec une maintenance rapide par le développeur ou par l'utilisateur après une formation de base au VBA.
cordialement, Gilbert Fourmy
0603200488
Boujour,
Je suis un utilisateur d'excel qui a du de mettre à VBA pour contourner un gros problème d'excel: il y a 16.384 colonnes et 1.048.576 lignes !! Essayez de remplir quelques colonnes avec des formules (même sans aller jusqu'à des relations circulaires). Si XL ne se plante pas (not responding pendant des heures) il prend un temps de calcul très élevé.
VBA m'a permis de faire des calculs sur plus de 500.000 lignes et comprenant de nombreux test et appels à des sous-programmes en un temps acceptable. Calculs qui n'auraient pas été possibles sans VBA.
Les seules interactions avec la feuille excel sont la lecture des données et l'écriture des résultats.
Il existe d'autre logiciels plus performants mais il faut faire la balance entre le gain d'efficacité et l'achat d'une licence pas toujours bon marché et le temps d'apprentissage d'un nouveau langage!
Je trouve donc que même si VBA ne satisfait pas pleinement les informaticiens purs et durs, pour un "pauvre ingénieur" devant faire des simulations de procédés il est d'une aide précieuse.
Pouvoir faire ce genre de choses est la vocation même d'un tableur. Un tel outil n'apporte alors pas une "aide précieuse", mais est incontournable.Citation:
pour un "pauvre ingénieur" devant faire des simulations de procédés il est d'une aide précieuse.
La discussion, toutefois, concerne l'utilisation du VBA de Excel.
Il est à ce sujet très clair que si Excel permet seul le traitement (formules) -->> Amen.
Pour les cas plus complexes --->> VBA sera nécessaire ... Sauf à s'amuser (je dis bien s'amuser) à "piloter" Excel depuis une applicataion Externe ! ... et qui dit "pilotage" dit ... connaissance du VBA de Excel ...
Alors ...;)
Un pouce vert à Paul_Rem
Bonjour à tous,
Vous avez presque réussi à me frustrer en massacrant VBA de la sorte. Je suis programmeur autodidacte depuis 1996. c'était à une époque ou je ne pouvais pas avoir accès à d'autres langage de programmation. Je m'y suis habitué et VBA m'aide tous les jours dans mon métier de manager. Je l'utilise surtout comme un outil spécifique pour l'amélioration de ma productivité dans l'utilisation des outils de bureautique (Excel, Access, Outlook, Project...). Par exemple pour l'automatisation des taches complexes ou simple mais répétitives. En ce moment, la conception de mes reportings, j'ai développé une application VBA qui récupère les données dans nos différents Serveurs de données, les mais en forme sur Excel, génère des tableaux de bord que j'ai préconçu, édite ces Tableau de bord dans Powerpoint et l'envoi automatiquement à mes collaborateurs chaque semaine, chaque mois et chaque trimestre. Faire une autre utilisation de vba me parait inutile et chronophage:aie:
Bonjour à tous,
pour moi le langage n'est que l'expression de la pensée du programmeur. Si la pensée est claire et affinée, quasiment n'importe quel langage conviendra, même VBA! Par contre aucun langage ne comblera les erreurs d'analyse. Je dirais même qu'un langage permettant des notions tortueuses n'obligera pas l'utilisateur à simplifier sa pensée, ce qui est absolument indispensable, ne serait-ce que pour la maintenabilité.
A Simplifi (à qui j'ai mis un pouce vert) :
Bravo pour l'avoir rappelé. C'est tout-à-fait cela, quel que soit le langage utilisé (y compris non informatique).
Le reste (tout le reste) n'est qu'égarement... et quelquefois pure récitation ....
J'ajouterais volontiers ceci : lorsqu'une demande, sur ce forum ou ailleurs, est "confuse", cela signifie déjà que le demandeur n'a pas une idée bien claire de ce qu'il cherche à obtenir. Comment pourrait-il, dans de telles conditions, envisager de définir en instructions codées ce qu'il ne sait exprimer de manière claire dans son langage naturel (mille fois moins rigoureux qu'un code) ?
Savoir cerner un besoin, savoir l'exprimer, savoir isoler une difficulté rencontrée dans le "développement" d'une "pensée", etc ... sont les "signes" qui permettent de distinguer un développeur, d'un pseudo-développeur ... ;)
Bonjour,
sujet intéressant auquel j'apporte mon pt de vue quelque peu différent de ceux qui précèdent, ce sur une appli bien spécifique du VBA.
Au vu de vos commentaires, je pense que vous etes tous des professionnels avertis et aguerris de l'informatique (dans telle ou telle application). Et du fait de votre connaissance trés pointue de tout un tas d'autres outils, vous considérez que le VBA n'est pas trés pro.
Je comprend votre point de vue mais je pense qu'il est en partie biaisé du fait de vos activités professionnelles. Je m'explique.
Je ne suis pas un professionnel de l'informatique. Mon métier, depuis 15 ans, est la recherche en calcul scientifique avec spécialisation en algorithmique numérique et écriture d'EDP pour décrire diverses applis physiques. A ce titre, j'ai bcp fait ce que dans mon milieu on appelle du "développement informatique": essentiellement de l'algorithmique from scratch en C++, fortran, mpi, python... et aussi de l'extension de codes existants genre CGAL, openfoam, vtk (codes plutot propres et assez gros). Néanmoins, si j'ai bien du écrire une dizaine de millions de lignes de code (et aux mauvaises langues: non non meme en calcul scientifique on ne fait pas que du copier-coller), objectivement je suis tout sauf un professionnel de l'informatique. Absolument aucune culture web, réseau, database, graphisme...
Mais que vient faire VBA la dedans?
En fait, j'ai cherché pendant des années LE moyen de diffuser de la "culture" numérique dans les industries, i.e à des ingés dont c'est tout sauf le métier. J'ai essayé de les intéresser et les former aux codes tridimensionnels sus-cités (formation, mise à disposition des sources, d'une infrastructure informatique et tout et tout): échec total / trop dur, trop long à prendre en main, à maitriser, à faire tourner. Bon, vaillant comme tout, j'ai alors décidé de leur fournir des petits modèles d'EDP plus simples (monodimensionnels). Ca tourne vite, c'est plus facile de comprendre les équations... J'ai développé des petits modules dédiés en python, scilab, R et al. Résultat: échec total. Dixit: "oui mais c'est pas facile ces outils, on connait pas, il faut manipuler des fichiers d'entrée, il n'y a pas d'IHM, pas de graphismes en sortie..." On peut se gausser de tous ces arguments mais ils sont réels et, se mettant à la place des ingés qui ont 10000 autres choses à faire, on finit meme par comprendre leur point de vue.
Finalement, au bord de la dépression:calim2:, l'illumination est venu il y a 5 ans: VBA + excel. L'outil miracle qui était sous mes yeux depuis le début: 1- tous les ingénieurs de l'industrie l'ont sur leur ordi et savent l'utiliser, 2- l'IHM par excellence pour rentrer les paramètres des équations, 3- les outils graphiques intégrés. Le tout en un par excellence auquel tout le monde a accés et accepte. Du coup, j'en ai codé un paquet d'équations 1D la dedans: du transfert thermique, massique, des modèles de lubrification, du poreux, de la perte de charge, de la flexion de poutre... Tout y passe sans problème, suffit d'avoir accés à des tableaux, des boucles,... et les outils de pré et post-traitement. Bref tout ce que ce vieux VBA/Excel fournit. Aujourdhui, avec le recul, je ne peux que dire que ce virage VBA a été une des meilleures décisions que j'ai prise car il m'a permis de diffuser bcp plus de savoir que ce que j'étais parvenu à faire pendant 10 ans avec d'autres outils.
Bon aprés il est sur qu'intrinsèquement c'est pas super sexy, moderne et efficace le VBA. C'est le moins qu'on puisse dire meme. Mais ca marche, c'est fonctionnel. Et au final, pour les ingés dont l'informatique (ou le numérique) n'est pas le métier, croyez-moi qu'ils en sont satisfait à 100%.
En conclusion: pour moi, un outil (informatique ou autre) est professionnel du moment qu'il crée de la valeur, qu'il est pérenne, efficace, rapide et qu'il permet de transmettre du savoir et de la technologie à des tierces personnes. Et donc, de ce point de vue, VBA est, je pense, un outil réellement professionnel. Et ca m'arrache presque une larme de dire ca parce que la philosophie "outils payants ET fermés" d'un Microsoft j'ai jamais pu la piffrer:ptdr: