Visual Basic est-il le bon language ?

S

Simon

Guest
Bonsoir,

Je vous lis depuis un moment et ne douite plus des compétances des intervenants. Par contre je me pose une question fondamentale par rapport à mon boulot, donc je me lance.

Vous avez l'air bien branché, alors je vais carrément vous remettre en question. J'espère que ce post un peu hors cadre, ne vous génera pas car pas vraiment 100% Excel.

J'ai un souci de stratégie qui me pose deux questions primaires ?

1) Le fait de développer des petits utiltaires appuyé par VBA intégré dans la suite Microsoft Office est-il une solution viable, évolutive et stable ?

2) Si l'on doit appliquer une hiéracrhie dans les languages de programmation, lequel est-il le plus facilement assimilable par un 'programmeur' lambda ? Et surtout VBA fait-il partie d'un 'Standard' pour les développeurs si jamais on devait (un jour) reprendre mon travail ?


Je me permets de vous poser ces questions, car elles sont d'actualités dans ma boite où l'on a soudainement dénigré mon travail sous VBA comme étant 'pratiquement' du bricolage le fait de travailler sous Excel/Access et VBA.


Je compte sur vous pour quelques minutes de votre temps, bien que ma question soit plus d'ordre générale, mais hyper importante pour moi et le choix vers lequel je dois m'orienter pour des développement internes et futures.

Merci du temps que vous voudrez bien me consacrer. Et tous liens utiles permettant de 'justifier' VBA par rapport à mon travail.

Je compte sur vous en sachant que je ne me trompe pas.
 

Hellboy

XLDnaute Accro
Bonsoir Simon

Que de bonnes questions !

Humble avis d'une personne qui n'est pas diplomé en programmation.

J'ai une 2 images en tête.

Qui prend sa ferrari pour allez au dépaneur ? (remarquer qu il faut en avoir une et c'est déjà bien)

Tu veux planter une fleur, tu utilise une pepine ou une pelle ?

Par contre, un jour tu décide de te creuser un lac, a la pelle ça va être long !!

Ce que je veux dire, c'est que chaque outils est adapter pour faire ce que tu as de besoin là. C'est sur que tu peux faire plus en VB pur, mais est-ce que tu as la même facilité si ton project vise la manipulation d'un tableur comme Excel ?

Pourquoi créer des objects classeur, si la pluspart de tes collègues travail déjà en Excel. Alors, qu'il sufit de programmer en VBA !

Le VB peut te servir si tu veux faire quelque chose que ton application Office ne peut faire.

Pour répondre a tes questions:

1- Au même titre, est-ce que le VB n'est il pas évolutif et stable ?

2- Je ne connais pas lambda donc ne peut te répondre. Mais pour ce qui est du VBA STANDARD. Plus souvent on retrouve des gens qui sorte de l'école avec un diplôme VB qu'un diplôme en VBA. Donc souvent se sont des amateur qui n'ont pas nécessairement de formation qui font du Code en VBA. Il est donc probable que le programmeur qui reprend se code, trouve que la façcon de faire est simplaite ou même inadéquate. Mais un petit secrèt entre nous, même les programmeur entre eux ne s'entendent pas, alors les lessons ...

Tu peux faire beaucoup sous VBA, cela dépand toujours quel sont les besoins qui a autour de toi. C'est trop facile pour les diplômé de rabaisser ceux qui ne le sont pas. Je trouve ça lâche.

Bon assez dit !
 

Pyrof

XLDnaute Occasionnel
Bonjour,

Comme toi Philipe, je pense que les diplômés nous rabaissent.

Moi je pratique le vba (principalement avec word) depuis plus de 15 ans.

Hier un ingénieur informatique est venu me demandé de faire une macro word parce que c’était trop difficile de le faire par un autre langage (PHP, perl, python c++ ....) : comme quoi ?

Pour moi ce qui est primordiale c’est l’efficacité du développement qui compte plutôt que sa « beauté ».

Dans mon expérience j’ai vu des programmes faits par ces diplômés mis à la poubelle car les utilisateurs préféraient le vieux programme.

Patrick
 

Ti_

Nous a quitté
Repose en paix
Je pense que si les outils Office ne permettaient que du bricolage, ils n'auraient jamais connu un tel succès. En fait, comme partout, la qualité d'une application Access, Excel etc. est essentiellement dépendante du talent de son programmeur. Certes, le VBA est un langage simplifié par rapport à beaucoup d'autres bien plus puissants, MAIS n'oublions jamais que le VBA est déjà intégré dans un environnement qui, bien exploité, est déjà, au départ, 1000 fois plus puissant que ce que tu pourrais toi-même développer à partir de rien avec n'importe quel langage compilé.
Pour ma part, ça fait des années que je n'ai pas écrit un programme compilé et je n'en ressens aucune envie. Au contraire, ce qui me plaît quand j'ouvre Excel, c'est que j'y trouve un potentiel de solutions quasi inépuisable, et ce, avant même d'avoir rempli la première cellule.
Maintenant, concernant le côté bricolage d'une application Office, il me semble que ce soit là un effet de bord de l'extraordinaire diffusion de cette suite. N'importe qui peut, en quelques heures, et avec un peu de curiosité, écrire un programme qui 'tourne' suffisamment bien pour que le boulanger puisse tenir ses comptes, la secrétaire gérer son planning etc. Il est probable que ni le boulanger ni la secrétaire n'aient 'appris' à programmer et ça se verra immédiatement.
Mais enfin, de la même façon, moi qui ne suis pas plombier, quand il me faut réparer un tuyau qui fuit, j'utilise des raccords rapides à visser, là où le plombier aurait sorti son fer à souder pour présenter un résultat nickel et fiable dans le temps.
Alors, il faut juste que tu saches où tu te situes dans cette hiérarchie : est-ce que tes programmes sont écrits un peu de bric et de broc, comme moi je pratique quand je me transforme en plombier ; ou es-tu suffisamment pointu pour, d'une part, présenter une analyse détaillée du problème qu'on te pose, d'autre part, présenter ensuite un document fiable, synthétique, évolutif et sûr ?
Pour compléter tout cela, je pense aux innombrables posts qu'on a eus ces dernières semaines à propos de tout un tas de bricolos qui, par ignorance ; un peu d'irresponsabilité ; désir de faire joli ; ou peut-être aussi volonté de masquer l'à peu près de leurs programmes, entreprennent de polluer ceux-ci de gadgets dangereux, comme la suppression des barres de menus, des astuces de protection hasardeuses, des modifications intempestives de paramètres système, et j'en passe.
Il est évident que, si tu as déjà produit de telles aberrations et qu'un de tes collègues a eu à en pâtir ne serait-ce qu'une fois, il aura tendance à regarder d'un oeil méfiant et à qualifier facilement de 'bricolage' ce que tu lui présentes.
 

Paladin

XLDnaute Junior
Salut le forum,

VBA n'est certes pas l'outil parfait, mais quand je compare (à mon niveau) l'utilisation des outils que j'ai développés en VBA par rapport à l'utilisation d'outils faits en PHP par exemple, je me dis que c'est un langage tout à fait correct.

Pourquoi ?
Deux raisons à cela :
- Les langages puissants sont par définition complexes pour les utilisateurs n'ayant aucune connaissance en informatique (ce qui est, avouons le, le cas d'une majorité de personne pour qui l'informatique se limite à taper du texte sous forme ou à utiliser Internet Explorer). Or, l'expérience me l'a prouvé, lorsqu'une personne ne comprend pas comment fonctionne la machinerie du programme qu'elle utilise, elle est parfois réticente à croire les résultats ... d'où un programme rarement utilisé !
- VBA est compréhensible par beaucoup de monde et dans mon milieu d'ingénieurs, c'est apprécié car lorsque je serai parti de mon entreprise actuelle, les gens pourront facilement remanier mes outils pour les faire évoluer si besoin.

Et puis je pourrai aussi rajouter deux points :
- VBA est intégré par défaut dans la suite Office (quasi-universelle) alors que pour le PHP par exemple, il faut installer un serveur Apache et configurer quelques paramètres incompréhensibles pour le néophyte ;
- VBA est plus rapide à programmer -> moins d'heures nécessaire -> programme moins cher et gain de temps.

Après, tout dépend de ce que tu veux faire aussi (et il y a des cas que VBA ne peut traiter évidemment), mais il ne sert à rien de sortir l'usine à gaz si c'est pour faire une application qui gère 3-4 données.
 

Gael

XLDnaute Barbatruc
Bonjour Simon, bonhour hellboy, Bonjour Ti, Bonjour Pyrof, Bonjour Paladin,

En tant qu'informaticien, j'ai bien sûr déjà été confronté à ce type de problème. je n'ai pas développé en VBA mais dans d'autres langages (mais je me suis promis de m'attaquer bientôt au VBA).

Le danger, donc l'inquiétude à la fois d'une direction et des informaticiens en place est lié à la relative facilité de développement avec des outils de type VBA/Office/Excel/Access/Word qui peut conduire à de multiples applications 'sauvages' dans les services, réalisées par des utilisateurs, des stagiaires ou autres qui vont s'intégrer dans l'organisation de l'entreprise sans que personne n'en ait vraiment la maîtrise.

La différence essentielle entre un développement classique 'système central' et un Excel VBA est que l'application système central forme un tout bien intégré (et théoriquement développée selon les règles de l'art puisque par des professionnels) même si elle comprend des milliers de programmes alors que les applications VBA vont constituer un ensemble de petits modules plus ou moins disparates. l'image qui me vient à l'esprit est la même différence qu'entre un groupe structuré et une association de PME.

Cependant, si j'estime qu'on ne peut pas écrire l'équivalent de SAP en VBA, ce dernier peut être un excellent complément pour donner à l'utilisateur des outils d'analyse précis et conviviaux.

Ce débat existe dans beaucoup d'entreprises, mais il ne faut pas oublier que les autres langages ont tous leurs inconvénients et leur pérennité n'est pas non plus assurée. Il y a des modes qui disparaissent, remplacées par d'autres aussi bien pour les systèmes d'exploitation que les langages et si un développement spécifique s'avère nécessaire, le choix du langage devient vite un sujet de discussion important (PHP, C++, Java, ASP.net...).

La solution, pour moi, est de donner à toute application VBA autant de rigueur qu'à une application classique pour qu'elle soit en harmonie avec les autres outils informatiques et considérée par la direction comme faisant partie de l'organisation de l'Entreprise.

Il faut à mon avis pour cela:

* Considérer le développement comme un projet à part entière
* travailler en liaison étroite avec l'informatique centrale, la direction et les utilisateurs
* Prévoir une documentation claire et complète (technique et utilisation)
* respecter quelques normes de programmation et documenter les programmes
* Présenter le résultat comme tout projet d'entreprise
* former les utilisateurs
* Suivre les résultats et faire évoluer l'application
* L'important n'est pas d'être informaticien diplomé mais de faire un travail de qualité

En clair, l'application doit être référencée et reconnue par l'entreprise comme un outil de travail au même titre que le logiciel de comptabilité ou de gestion commerciale.

Les coûts moins élevés et la rapidité de développement sont des arguments importants, mais pour une direction, un programme peu utile ou non suivi restera trop cher même s'il est en téléchargement gratuit sur XLD car il aura toujours un coût de mise en place et de formation avec peut-être un impact non souhaité ou non maîtrisé sur l'organisation.

En conclusion, informatique centrale et PC sont absolument complémentaires et doivent être réunis et pas opposés. cela ne peut se faire qu'en travaillent ensemble pour avancer l'un vers l'autre.

C'est un exercice difficile que de résumer en quelques lignes toutes les réunions et débats que j'ai connus sur ce sujet, mais j'espère t'avoir aidé dans ta réflexion.

@+

Gael
 
S

Simon

Guest
Bonsoir à tous

Alors là vous m'épatez les gars, franchement même une consultation payante n'aurait pas été aussi détaillée et élaborée. Je n'en attendais pas tant !!! Bravo XLD !!!

Ce site est merveilleux et je vous remercie vraiment. Vous êtes tous trop !

Donc si je récapitule, seuls les détractaires développeurs 'professionnels' seraient susceptible de pouvoir critiquer un programme basé sur les outils Offices et VBA, et même dans leur 'Professionnalisme profond' ils ne pourraient même pas justifier un risque quant à ce choix de développement pour des outils satellites d'une grosse structure vis à vis d'une solution viable, évolutive et stable. (base de données gérées sur un gros système, on ne parle que 'd'outils satellites))

En d'autres mots, en reprenant Ti_ je ne suis pas boulanger ni secrétaire mais par contre je suis plutôt assez'armé' niveau VBA, en fait je vous ai bluffé un peu, mais c'est merveilleux, car en anonymat complet vous m'avez répondu avec tant de spontanéité et de générosité sans me connaître, enfin un peu car on était à la même table au 'Bières du Monde' avec quelques-uns... mais ma demande est sérieuse ainsi que mon problème professionnel qui est hélas réel et doit rester discret.

Enfin donc imaginez-vous qu'hier je me suis fait reprocher que le VB est un language compliqué peu abordable par la majorité, et à la limite obsolète !

Enfin merci pour ce fil, et vraiment Bravo à Gael, Ti_, Paladin, Pyrof, HellBoy, même si ma partie n'est pas gagnée d'avance, vous avez donné un sens à mon travail et ma persévérance.

Merci encore et Bonne nuit ou Journée

[ol]@+Simon[/ol] ;)
 

Hellboy

XLDnaute Accro
Bonsoir a tous

Je veux juste rajouter a ton commentaire:

Enfin donc imaginez-vous qu'hier je me suis fait reprocher que le VB est un language compliqué peu
abordable par la majorité, et à la limite obsolète !

L'ignorance demeure le fondement des paroles insencés.[/ B)

Et ça si tu remarque bien, tu en vois a tout les jours.

Message édité par: Hellboy, à: 29/09/2005 23:29
 

Discussions similaires

Membres actuellement en ligne

Statistiques des forums

Discussions
312 305
Messages
2 087 084
Membres
103 459
dernier inscrit
Arnocal