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

Macros et VBA Excel Discussion :

Créer un prog en POO avec Excel et Access


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Nouveau candidat au Club
    Profil pro
    Inscrit en
    Juin 2009
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2009
    Messages : 2
    Par défaut Créer un prog en POO avec Excel et Access
    Bonjour à tous,

    Je n'ai pas de formation de programmeur mais je souhaiterait faire une appli en POO.

    J'extrais des données d'une base Access par une requête. Pour simplifier, ces données sont ordonnées par id_obj, année et il y a une soixantaine de colonnes représentant mes variables sur lesquelles je travaille.

    En fait je souhaiterais faire une classe obj, avec comme propriétés la
    soixantaine de variables. Je voudrais ensuite faire une classe liste_obj, avec tous mes objets, les années, éventuellement d'autres clés ...

    Est ce que quelqu'un aurait un exemple pour m'expliquer. En fait actuellement je travaille sur des collections, et le souci est que je ne peux appeler une variable que par son numéro d'index et non par son nom ce qui alourdit considérablement le code. Ex : je voudrais pouvoir faire obj.nom_champ alors qu'actuellement je dois faire ma_collection.item(n)

    Pour éclaircir tous çà, voici un code qui génère ma collection dont l'objet devrait avoir la même structure :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    champs = rsPFMdb.Fields.Count 
    imm_prec = rsPFMdb.Fields("ImmeubleDescription_h1").Value 
    Set tot_actifs = New Collection 
    Set actif = New Collection 
    While rsPFMdb.EOF = False 
        Set temp1 = New Collection 
        Set ann = New Collection 
        imm = rsPFMdb.Fields("ImmeubleDescription_h1").Value 'code imm = 
    nb d'immeubles 
        If imm_prec <> imm Then 
            tot_actifs.Add actif, CStr(imm) 
            Set actif = Nothing 
            Set actif = New Collection 
        End If 
        an = rsPFMdb.Fields("Couts Immeuble_h3").Value 'année 
        For i = 0 To champs - 1 
            ann.Add rsPFMdb.Fields(i).Value, rsPFMdb.Fields(i).Name 
        Next i 
        actif.Add ann, CStr(an) 
        rsPFMdb.MoveNext 
        imm_prec = imm 
    Wend 
    rsPFMdb.Close
    Donc question : quelqu'un pourrait il éventuellement me placer sur un ftp un classeur excel avec une boucle qui crée un objet un peu sur le principe de ce code ? En fait je bloque car je ne sais pas comment m'y prendre.

    Merci pour votre aide

    PS : J'ai regardé le tutoriel sur la POO mais j'ai pas tous compris

  2. #2
    Expert confirmé
    Avatar de Qwazerty
    Homme Profil pro
    La très haute tension :D
    Inscrit en
    Avril 2002
    Messages
    4 114
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France

    Informations professionnelles :
    Activité : La très haute tension :D
    Secteur : Service public

    Informations forums :
    Inscription : Avril 2002
    Messages : 4 114
    Par défaut
    Salut et bienvenu
    Je ne sais pas trop quel tutoriel tu as lut, mais je pense que tu devrais regarder du coté des modules de classe, il permettront de créer les différente structure dont tu as besoin, attention quand même, bien que ce soit possible vba est pas forcement le meilleur des langage pour faire de la prog orienté objet, le contenu des structure etant assez volatil dés lors que le code n'est pas exant de bugs.
    Tu devrais peut être exposer un peu plus ce que tu souhaites réaliser, des solutions plus simple sont peut être envisageable.
    A++
    Qwaz

    MagicQwaz := Harry Potter la baguette en moins
    Le monde dans lequel on vit
    Ma page perso DVP
    Dernier et Seul Tutoriel : VBA & Internet Explorer
    Dernière contribution : Lien Tableau Structuré et UserForm
    L'utilisation de l’éditeur de message

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    150
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 150
    Par défaut
    Citation Envoyé par lalary Voir le message
    Bonjour à tous,
    En fait je souhaiterais faire une classe obj, avec comme propriétés la
    soixantaine de variables. Je voudrais ensuite faire une classe liste_obj, avec tous mes objets, les années, éventuellement d'autres clés ...
    J'ai posé une question qui ressemble à la tienne il y a quelque temps, voici la réponse :

    http://www.developpez.net/forums/d53...ion-objet-vba/

    En espérant que ca peut t'aider

Discussions similaires

  1. [AC-2002] Créer un tableau croisé dynamique dans Excel depuis Access
    Par dut-dut dans le forum VBA Access
    Réponses: 3
    Dernier message: 29/11/2010, 13h42
  2. link d'une liste avec excel ou access
    Par bensl7 dans le forum SharePoint
    Réponses: 4
    Dernier message: 08/05/2009, 23h10
  3. Présentation de données avec Excel ou Access
    Par kcaprini dans le forum Microsoft Office
    Réponses: 0
    Dernier message: 12/06/2008, 14h42
  4. Réponses: 3
    Dernier message: 17/11/2006, 14h35
  5. Comment créer des onglets comme avec Excel (sheet1/sheet2)
    Par pierrot10 dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 20/09/2005, 16h36

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