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:
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 :cry: