VBA Excel Gerer une base grâce à des objets dans feuille

4 réponses
Avatar
LSteph
Bonjour,

voil=E0, ma question viendra plus bas, j'aimerais d=E9marrer un projet pour=
g=E9rer une petite base =E0 partir d'objets
dans une feuille, Feuil1. Un peu comme on placerait des pions dans un jeu.
(J'h=E9site entre feuille, objets dessin=E9s userform, utilisation de type=
, ou module de classe, j'ai bien des id=E9es mais pour l'instant c'est ass=
ez d=E9sordonn=E9).

Objectif par exemple de l'outil:=20

Retracer les mouvements agents et mat=E9riel informatique dans des bureaux

-dans le support feuille avoir un cadre par bureau et un cadre Stock, pour =
tout ce qui n'est pas encore dans un bureau.
je disposerais ces cadres (50~)dont le Name identifierait le bureau
exemple B-4111 (=E0 partir du premier cadre je g=E9n=E8re les suivants =E0 =
partir d'une liste) cela ne me pose pas de difficult=E9s. Le cadre Stock se=
rait compl=E8tement =E0 gauche ou en haut pour pouvoir figer les volets
A ce stade j'h=E9site d=E9j=E0 sur le type d'objet =E0 ins=E9rer dans la fe=
uille.
Cadre dessin Cadre Texte Objet Formulaire ou VBA

-dans ces cadres Bureau, je souhaite d=E9terminer des sous-cadres Espace1, =
Espace2,...rarement 4, selon la capacit=E9 du bureau, +EspaceM (mutualis=E9=
).

-dans chaque Espace,depuis le cadre Stock, je ferais glisser les objets:

*Agent, visible Left(Nom,7)&Left(Pr=E9nom,1)
propri=E9t=E9s:Matricule,Civilit=E9, Nom,Pr=E9nom,Login=3DPr=E9nom.Nom

*PC, visble "PC"&NumS=E9rie
propri=E9t=E9s: NumS=E9rie,Marque,Mod=E8le,Date d'achat,Nom_de_l_ordinateur

*Imprimante,, visble "IMP"&NumS=E9rie=20
propri=E9t=E9s: NumS=E9rie,Marque,Mod=E8le,Date d'achat,RJ45(pr=E9sent, uti=
lis=E9, absent),
USB(pr=E9sent,utilis=E9,absent),PP(pr=E9sent,utilis=E9,absent)

*Prise r=E9seau,num=E9ro

-Feuil2: contiendrait le r=E9sultat sous forme de base.
-Feuil3 contiendrait les tables de chaque type d'objet

=20
Le but est de faire glisser les objets comme on veut d'un cadre =E0 l'autre=
et en fonction de leur disposition mettre =E0 jour Feuil2 qui retracerait =
en colonne.=20
Bureau,Espace,et une ligne =E0 chaque objet (agent,PC,Imprimante...)une col=
onne par propri=E9t=E9.=20

Question: Avez vous des conseils sur la m=E9thode et le type d'objets a uti=
liser pour d=E9velopper cela en s'appuyant sur VBA Excel?
Toutes id=E9es seront les bienvenues!

Merci d'avance.

--
LSteph

4 réponses

Avatar
MichD
Bonjour,

Une approche...

Une feuille pour lister tous les locaux de l'immeuble
avec les caractéristiques de chaque local
- Dimension, fenestration ....

Le plus important est d'attribuer à chaque local un code propre
pour leur identification.

Dans une autre feuille, tous les objets. Encore ici, leur code
d'identification
est très important.

Pour chaque objet, son code d'identification devrait contenir
A) le code du local où cet objet a été affecté
B ) Une abréviation courte du type d'objet
C ) La liste des propriétés de cet objet sur une même ligne

Exemple pour une imprimante
L10-Printer Marque année de l'achat ....

L10 représente le local
Printer - classe objet

De cette manière, tu t'assures de pouvoir toutes sortes de requêtes
sur ce contient un local ou par catégorie d'objet ou par les
caractéristiques ce ceux-ci.
L'ordre d'entrée des objets n'est pas si important puisque tu pourras les
regrouper
à partir de filtre...ou par ADO, la requête permet d'extraire par ordre
croissant
une requête -> et l'affecter à un tableau pour ensuite qu'elle devienne la
source
de données de l'affichage d'un formulaire.

Tu peux gérer ceci par des formulaires...

Un exemple de ce que peut-être une petite base de données même si cette
dernière n'est pas destinée à ce type de bouleau.

http://cjoint.com/?CKoo7ZUQpRK

MichD
---------------------------------------------------------------
Avatar
LSteph
Re, et Merci

En fait l'objectif est un peu inverse. Pouvoir ensuite en bougeant les obje ts
dans leurs espaces,générer la base.
Pour l'instant je ne sais pas si je suis parti vers la bonne méthode, com me contenant des objets j'ai pris une Feuille Feuil1 et ses cellules. En ti tre de colonne et les numéros de bureau B__n sur 5 chr
En ligne les Espaces, jusqu'à 3 max postes par bureau et 1 espace mutuel pour imprimante par exemple.
Dans chaque cellule Espace d'un bureau je placerai avec la souris, 1 agent, son pc, la prise utilisée,son imprimante, sauf si mutualisée...
In fine en passant en revue chaque étiquette à raison de son emplacemen t le code me permettra de lire les information affairant à chaque objet e n feuil3 et générer mon etat récapitulatif en Feuil2.


En Feuil3 j'ai mis ma liste des pc, j'ajouterai celle des imprimantes, des acces réseau et enfin des agents.

Pour les objets j'ai opté pour des labels donc première phase construit ces etiquettes à partir de la liste (Cf code ci-apres) . Apres je ferai pareil avec les autres objets.


Sub creBoucleLbl()

Dim i As Integer, S As Shape, _
myTop As Double, myLeft As Double, myC As Range, _
myHeight As Double, myWidth As Double, myStr As String



For i = 3 To 77
Set myC = Cells(i, 6)
With myC
myTop = .Top
myLeft = .Left
myHeight = .Height
myWidth = .Width
myStr = .Offset(0, -1).Text
End With
Set S = Feuil3.Shapes.AddFormControl(xlLabel, myLeft, myTop, myWidth, myHeight)

With S

.Name = "Lbl" & myStr
.TextFrame.Characters.Caption = "PC-" & myStr

End With
Set S = Nothing
Set myC = Nothing
Next i
End Sub

'je continuerai demain et reviendrai voir si autres idées ou si j'ai bes oin 'd'aide pour poursuivre.

'merci

'LSteph
Avatar
MichD
Si tu as visuel studio, regarde si ce logiciel ne serait pas mieux adapté.
J'ai déjà ouvert cette application, mais je ne la connais pas vraiment!


MichD
---------------------------------------------------------------
Avatar
LSteph
Bonjour,

Pour visual je n'ai qu'une version individuelle réservée à la découverte du
produit.
En effet, pour la réalisation du projet en lui-même ce serait certainement
plus adapté notamment la plus grande diversité d'objets conteneurs etc...
Mais pour le partager (mes homologues d'autres sites) c'est plus simple avec
excel question installations et licences , on a déjà!


Sinon j'ai commencé donc avec des labels mais pour rejoindre
approximativement ce que m'inspire ta suggestion des objets conteneurs, je
pense que je vais peut-être le refaire avec des objets dessin. Si ce n'est
pas trop lourd comme cela je pourrais aussi mettre diverses formes et
couleurs. Il me restera à monter la macro qui relit les objets dans chaque
espace pour constituer un enregistrement dans mon etat récap.Ainsi à partir
des regroupement d'identifiants plus qu'à récupérer leurs infos dans les
tables.

Si après et seulement si, je vois que c'est opérant et semble pratique, je
mettrai le lien vers une version avec des noms bidons quand j'aurais fini.

Merci de ton aide.

--
LSteph

"MichD" a écrit dans le message de
news:l650fo$sh3$

Si tu as visuel studio, regarde si ce logiciel ne serait pas mieux adapté.
J'ai déjà ouvert cette application, mais je ne la connais pas vraiment!


MichD
---------------------------------------------------------------





---
Ce courrier électronique ne contient aucun virus ou logiciel malveillant parce que la protection avast! Antivirus est active.
http://www.avast.com