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

Affichage des résultats du sondage: Utilisez-vous la Progr. Orientée Objet "POO" + modules de classe dans vos appli ?

Votants
75. Vous ne pouvez pas participer à ce sondage.
  • Toujours, quand on y a goûté...

    19 25,33%
  • Souvent, ça facilite la maintenance

    17 22,67%
  • Rarement, c'est trop compliqué avec VBA

    13 17,33%
  • Jamais, je n'en vois pas l'intérêt

    13 17,33%
  • Je ne sais pas ce que c'est

    13 17,33%
Sondages et Débats Discussion :

[Objets] La programmation Objet et VBA


Sujet :

Sondages et Débats

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    seb92400
    Invité(e)
    Par défaut [Objets] La programmation Objet et VBA
    Hello...

    Voilà, je me lance, je suis nul !!!!! Ca, c'est dit...

    Sérieusement, voilà un bout de document qui me pose de graves problèmes :

    La programmation objet vaut largement celle de Visual Basic.

    On peut programmer aussi clairement et aussi mal qu’on le souhaite, avec n’importe quel langage. Profitons en donc pour conseiller à tous les programmeurs Access et VBA d’utiliser
     un minimum de code dans les formulaires et états (l’interface utilisateur). Typiquement, un événement contient une ligne d’appel à une propriété ou méthode d’un objet métier, récupère éventuellement quelques valeurs en retour, et du code de contrôle d’erreur.
     effectuer tous calculs dans des modules de classe indépendants des formulaires, les objets métier. Ces objets permettront de se débarrasser des innombrables variables globales, mais surtout donneront une structure très claire et facile à maintenir à l’ensemble de l’application. Et pourront être copiés dans Visual Basic, si besoin est !
     regrouper en une classe ou objet d’accès aux données tous les accès à la base. Cette question est simple mais délicate, car il faut éviter tout conflit entre l’accès aux données directement par un formulaire, dans l’interface, et les accès depuis le code VBA.
    Voilà quelque mots écrits par un personnage que je ne connais que virtuellement mais que j'apprécie beaucoup... Seulement, je suis vraiment nul, car ça fait un bout de temps que je potasse, que je lis des tutoriels, etc... Et je n'arrive toujours pas à comprendre pourquoi, comment, où, quand, etc... il faut faire de la programmation objet !!!!

    Voilà, donc j'ai deux questions :
    1. Est-ce que quelqu'un pourrait en quelques mots m'expliquer ce concept de programmation objet et l'avantage par rapport à des fonctions écrites dans des modules simples plutôt que des modules de classe (car si j'ai bien compris, la programmation objet, ce sont des modules de classe)
    2. C'est quoi les objets et les règles métier ???

    Merci d'avance si vous pouvez éclairer ma lampe de bureau... PS, j'ai lu les tutoriels, donc pas la peine, je connais les liens, et bien que j'ai compris à peu près la façon de faire, je n'en vois pas trop l'interet, ni comment intégrer ce concept dans mes bases de données...

    Merci...

  2. #2
    seb92400
    Invité(e)
    Par défaut
    Re...

    J'ai trouvé ce genre d'infos (parmi beaucoup d'autres cours dispo sur la POO)... ICI

    Ca n'empêche que j'ai du mal à en saisir le principe... Je comprends parfaitement comment on programme, comment on appelle, etc...

    Mais ce que je ne comprends pas, c'est "pourquoi" ???

    Pourquoi faire des classes alors qu'une fonction peut suffire ? Quel est l'interêt ??



    Les exemples que je trouve : L'objet est un article - les attributs sont la référence, la désignation, le prix unitaire et la quantité - les méthodes sont le calcul du prix ttc, la sortie de l'article et l'entrée de l'article.

    Ok, je vois... Mais j'ai déjà une table qui repertorie mes articles et leurs attributs et des fonctions écrites dans des modules que j'appelle quand j'en ai besoin...

    Je trouve aussi clair de placer des fonctions dans un module et de les appeler quand j'en ai besoin que de créer des modules de classe avec les mêmes fonctions et d'instancier des objets pour avoir le même résultat et ensuite détruire mon objet.... Ou alors, je n'ai rien de rien compris à tout ce que j'ai lu...

    Donc bref : En un mot, je ne cherche pas à ce qu'on m'explique comment on fait de la POO, mais pourquoi... Et je crois que tant que je n'aurais pas compris ça, je vais avoir du mal à me lancer dedans... Pourtant, tout le monde s'accorde à dire que c'est bien, la POO !!!

    Bon, allez, je vais me mettre encore quelques

  3. #3
    jnore
    Invité(e)
    Par défaut

    Ca fait plaisir de voir que je ne suis pas le seul ....
    A vrai dire je suis comme toi. J
    'ai commencé sous access et actuellement je suis en PHP pour gérer mes bases.
    La notion d'objet, on la voit toujours...mais un peu de loin. A se demander si c'est vraiment utile!
    A ecouter les experts, il semblerait que oui.
    Notamment lorsqu'il y a une équipe projet, il est facile de confier une partie du code à telle ou telle équipe.
    Au final, sans concertation (ou presque), il est possible de compiler un ensemble de code qui font une application. Le but ultime, je crois est d'organiser le code, de le hiérarchiser donc le maintenir simplement.

    Pour ma part, je n'en ai pas l'utilité (cela ne veut pas dire qu'il n'y en a pas).
    Je programme seul et je suis le seul à maintenir mes codes...donc pas de souci

    Je pense qu'à environ 80% des visiteurs de ce site, il doit en être de même.(j'espère que je n'y vais pas un peu fort !!!)

    Il devrait y avoir un sondage à ce sujet !!! pour en avoir une idée.

    En totale compréhension avec toi , Jnore

  4. #4
    seb92400
    Invité(e)
    Par défaut
    Hi,

    Notamment lorsqu'il y a une équipe projet, il est facile de confier une partie du code à telle ou telle équipe.
    Au final, sans concertation (ou presque), il est possible de compiler un ensemble de code qui font une application. Le but ultime, je crois est d'organiser le code, de le hiérarchiser donc le maintenir simplement.
    En fait... Je le fait déjà ça, j'ai des modules (mais des modules standards) que j'utilise dans toutes mes applis : Un module pour connecter la base dorsale, un autre pour l'utilisation de MsgBox Avancées, un autre pour mes variables générales (d'ailleurs là, ça rejoint l'article de Papy Turbo qui n'aime pas ces variables et les remplacent par une classe (voir mon premier messaqge)), un autre pour la gestion de la résolution, un autre pour........

    Bref... A priori, je devrais m'orienter vers les modules de classe, mais je n'y arrive pas... Les tutos la dessus sont très bien faits... D'ailleurs, afin de cultiver mon ignorance, j'ai relu, hier soir, une ultime fois ceux qui concernent la POO et les classes... Ils sont très bien faits, ils sont très compréhensibles, mais...

    Si quelqu'un avait un exemple concret et imparable (genre je me prends une grande giffle (virtuelle, hein !!)), je suis preneur... Quelque chose qui me fasse le déclic quoi...

    Voilà le 'tit sondage : J'ai mis "jamais", mais je ne demande qu'à changer d'avis....
    Dernière modification par seb92400 ; 01/08/2007 à 08h51.

  5. #5
    Expert confirmé
    Avatar de cafeine
    Inscrit en
    Juin 2002
    Messages
    3 904
    Détails du profil
    Informations forums :
    Inscription : Juin 2002
    Messages : 3 904
    Par défaut
    Hello,

    loin d'être un expert, pour moi la programmation objet devient vraiment utile lors d'un travail collaboratif ou qui est susceptible d'être repris par un tiers.
    Ce n'est pas le cas lors d'un développement individuel ou occasionnel pour répondre à un besoin ponctuel.

  6. #6
    Membre expérimenté
    Inscrit en
    Novembre 2006
    Messages
    337
    Détails du profil
    Informations forums :
    Inscription : Novembre 2006
    Messages : 337
    Par défaut
    Je programme en objet depuis 3 ans deja, et franchement, c'est un developpement qui vous change la vie :
    1) pas besoin de remodeler tout ton code en cas de probleme, si il faut rajouter une fonction, tu la rajoute dans ta classe.
    2) un objet est facile a creer et tu peut en creer autant que tu veut (ou que ta ram te le permet..) exemple, lors d'un de mes projet, j'ai du creer 500 objet, ca ne ma pris que 3 lignes de code...
    3) ca permet de regrouper les fonctions des différents objets dans des "classes meres", resultat, chaque classe "fille" de la classe mere pourra faire les memes choses, et plus encore.
    4) la maniere de programmer est totalement différente, peut modifier la connexion a la base de données, l'ihm, ou rajouter des classes sans avoir a modifier le reste du code... (ex : un programme tourne sous access, on veut changer pour oracle -> dans la classe de connexion, on change une ligne et tout le programme se connecte a oracle...)

    c'est une petite partie des avantages de l'objet, et j'en oubli encore plein la dedans..
    Bien sur au niveau SGBD, ca ne sert pas a grand chose de faire de l'objet, mais, du point de vue programmation, l'objet montre un aspect super appreciable.

    Mais tout depend egalement de la taille du programme.

Discussions similaires

  1. Programmation Objet en VBA
    Par -={-_-}=- dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 23/04/2008, 18h59
  2. [Débutant(e)][Conception] prob de programmation objet
    Par gregorian dans le forum Général Java
    Réponses: 3
    Dernier message: 07/07/2005, 11h20
  3. Questions sur la programmation objet en Delphi
    Par Manopower dans le forum Débuter
    Réponses: 20
    Dernier message: 15/06/2005, 15h39
  4. [ASP] Programmation objet ?
    Par Hell dans le forum ASP
    Réponses: 6
    Dernier message: 07/04/2005, 15h28
  5. Problème programmation objet
    Par Contrec dans le forum MFC
    Réponses: 54
    Dernier message: 30/03/2005, 11h30

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