Précédent   Forum des professionnels en informatique > Logiciels > Microsoft Office > Access > Modélisation
Modélisation Le forum qui vous aide à résoudre vos questions relatives à la modélisation (tables et relations) de votre base de données sous Access. Pour les états et les formulaires, postez dans le forum IHM.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 16/02/2011, 19h37   #1
Membre à l'essai
 
Homme
Étudiant
Inscription : juin 2009
Messages : 64
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations professionnelles :
Activité : Étudiant
Secteur : Industrie

Informations forums :
Inscription : juin 2009
Messages : 64
Points : 22
Points : 22
Par défaut Migration BD Excel -> Access

Bonsoir à tous,

Tout d'abord, j'espère poster au bon endroit, si ce n'est pas le cas n'hésitez pas à le faire remarquer.
Je me retrouve avec une basse de données météo stockée dans des fichiers Excel sous une forme un peu bizarre et j'aimerais la passer sous Access.

J'ai donc une vingtaine de classeurs avec 200 à 300 feuilles comme celle dans le fichier joint.
L’arborescence de la base va ainsi :


Nom du fichier > Code Commune > Inclinaison > mois > Type de données >

Exemple : Fichier 22 picardie.xls > CP_80_80980 > 5° > February > Gd > Et là il y a jusqu'à 63 données


Ma question : comment faire pour tout passer de excel à une BD Access?
Je ne sais pas si je dois faire une macro Excel qui pousse les données vers Access
Ou bien une macro Access qui extrait les données des classeurs Excel
Ou peut être existe t'il des sortes de calques qui me permettaient de remplir la BD mois pas mois plutôt que donnée pas donnée.

Voila c'est plus sur la forme que j'ai besoin de conseil.

Merci pour votre aide.

Pierre


PS : j'ai une bonne maîtrise d'excel et du VBA, des bases sur Access.
7ider5 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 17/02/2011, 10h15   #2
Expert Confirmé
 
Avatar de Richard_35
 
Homme
Inscription : juillet 2007
Messages : 2 176
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France, Ille et Vilaine (Bretagne)

Informations forums :
Inscription : juillet 2007
Messages : 2 176
Points : 2 805
Points : 2 805
Bonjour 7ider5,

Tout d'abord, dois-tu effectuer cette opération une seule fois et passer, ensuite, définitivement sous Access ou bien faut-il prévoir un traitement récurrent ?
__________________
Dis-nous et à bientôt,
Richard.
----------------------------------------------------------------------------------------------
En cas de résolution, et afin de faciliter la tâche des bénévoles, merci de cliquer sur .
et permettent aux forumeurs de cibler leur recherche dans une discussion : n'hésitez pas à voter !
Richard_35 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 17/02/2011, 12h39   #3
Membre à l'essai
 
Homme
Étudiant
Inscription : juin 2009
Messages : 64
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations professionnelles :
Activité : Étudiant
Secteur : Industrie

Informations forums :
Inscription : juin 2009
Messages : 64
Points : 22
Points : 22
Bonjour,

Merci pour ta réponse.
Je fais ça pour réaliser un traitement ultérieur, le but est ensuite dans un premier temps de trouver pour chaque communes l'inclinaison, le mois et l'heure qui a le plus grand écart entre G et Td.
Mais je pense que ce sera plus rapide de le faire via une requête SQL plutôt qu'a faire une macro qui prenne une plombe à tout traiter.
Le but est donc bien de passer définitivement tout sous Access
7ider5 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 17/02/2011, 14h33   #4
Expert Confirmé
 
Avatar de Richard_35
 
Homme
Inscription : juillet 2007
Messages : 2 176
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France, Ille et Vilaine (Bretagne)

Informations forums :
Inscription : juillet 2007
Messages : 2 176
Points : 2 805
Points : 2 805
OK.

La "difficulté" est, donc, de construire les bonnes tables avec les bonnes relations (le MCD). Ensuite, il faudra s'occuper de la méthode d'importation des données Excel.

Suggestion, à la vue de ton fichier Excel :

Table Regions :
- Id_Region (clé primaire, numéro auto)
- Nom (nom du fichier Excel)
...
==> sinon, tu devrais pouvoir trouver un fichier des régions "officiel".

Table Communes :
- Id_Commune (clé primaire, numéro auto)
- Id_Region
- Nom (nom de l'onglet du fichier Excel)
...
==> sinon, tu devrais pouvoir trouver un fichier des communes "officiel".

Table Inclinaisons :
- Id_Inclinaison (clé primaire, numéro auto)
- Inclinaison (colonne A du fichier Excel)
...

Table Mois :
- Id_Mois (clé primaire, numéro auto)
- Mois (ligne 1 du fichier Excel)
...

Table Heures :
- Id_Heure (clé primaire, numéro auto)
- Heure (colonne B, K, T, etc... du fichier Excel)
...

Table TypeDonneeMeteo :
- Id_TypeDonneeMeteo (clé primaire, numéro auto)
- TypeDonneeMeteo (colonne C, D, E, etc... du fichier Excel)
...

Table DonneeMeteo :
- Id_DonneeMeteo (clé primaire, numéro auto)
- Id_Commune
- Id_Inclinaison
- Id_Mois
- Id_Heure
- Id_TypeDonneeMeteo
- Donnee (cellule contenant la donnée)


Relations :
Code :
1
2
3
4
5
Regions         1-----n Communes    via Id_Region ;
Inclinaisons    1-----n DonneeMeteo via Id_Inclinaison ;
Mois            1-----n DonneeMeteo via Id_Mois ;
Heures          1-----n DonneeMeteo via Id_Heure ;
TypeDonneeMeteo 1-----n DonneeMeteo via Id_TypeDonneeMeteo.
Es-tu d'accord avec cette approche ?
__________________
Dis-nous et à bientôt,
Richard.
----------------------------------------------------------------------------------------------
En cas de résolution, et afin de faciliter la tâche des bénévoles, merci de cliquer sur .
et permettent aux forumeurs de cibler leur recherche dans une discussion : n'hésitez pas à voter !
Richard_35 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 17/02/2011, 18h28   #5
Membre à l'essai
 
Homme
Étudiant
Inscription : juin 2009
Messages : 64
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations professionnelles :
Activité : Étudiant
Secteur : Industrie

Informations forums :
Inscription : juin 2009
Messages : 64
Points : 22
Points : 22
Ok avec ça, juste une petite modification :
Les données sont scindés par région dans des classeurs différents, mais dans la base je n'ai pas vraiment besoin de connaitre la région, on peut donc supprimer la table région.

Est ce que "Table TypeDonneeMeteo" inclue les tables G, Gd, Gc, A, Ad, Ac, Td ?

Sinon ça m'a l'air bon

Merci pour ton aide
7ider5 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 17/02/2011, 18h40   #6
Expert Confirmé
 
Avatar de Richard_35
 
Homme
Inscription : juillet 2007
Messages : 2 176
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France, Ille et Vilaine (Bretagne)

Informations forums :
Inscription : juillet 2007
Messages : 2 176
Points : 2 805
Points : 2 805
OK, nous aurons donc, en final :

Table Communes :
- Id_Commune (clé primaire, numéro auto)
- Nom (nom de l'onglet du fichier Excel)
...
==> sinon, tu devrais pouvoir trouver un fichier des communes "officiel".

Table Inclinaisons :
- Id_Inclinaison (clé primaire, numéro auto)
- Inclinaison (colonne A du fichier Excel)
...

Table Mois :
- Id_Mois (clé primaire, numéro auto)
- Mois (ligne 1 du fichier Excel)
...

Table Heures :
- Id_Heure (clé primaire, numéro auto)
- Heure (colonne B, K, T, etc... du fichier Excel)
...

Table TypeDonneeMeteo :
- Id_TypeDonneeMeteo (clé primaire, numéro auto)
- TypeDonneeMeteo (colonne C, D, E, etc... du fichier Excel)
...

Table DonneeMeteo :
- Id_DonneeMeteo (clé primaire, numéro auto)
- Id_Commune
- Id_Inclinaison
- Id_Mois
- Id_Heure
- Id_TypeDonneeMeteo
- Donnee (cellule contenant la donnée)

Relations :
Code :
1
2
3
4
Inclinaisons    1-----n DonneeMeteo via Id_Inclinaison ;
Mois            1-----n DonneeMeteo via Id_Mois ;
Heures          1-----n DonneeMeteo via Id_Heure ;
TypeDonneeMeteo 1-----n DonneeMeteo via Id_TypeDonneeMeteo.

Je ne comprends pas ta question :
Citation:
Envoyé par 7ider5
Est ce que "Table TypeDonneeMeteo" inclue les tables G, Gd, Gc, A, Ad, Ac, Td ?
Les données de la tables TypeDonneeMeteo seront :
Code :
1
2
3
4
5
6
7
8
Id_TypeDonneeMeteo TypeDonneeMeteo 
1                  G
2                  Gd
3                  Gc
4                  A
5                  Ad
6                  Ac
7                  Td
OK ?
__________________
Dis-nous et à bientôt,
Richard.
----------------------------------------------------------------------------------------------
En cas de résolution, et afin de faciliter la tâche des bénévoles, merci de cliquer sur .
et permettent aux forumeurs de cibler leur recherche dans une discussion : n'hésitez pas à voter !
Richard_35 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 17/02/2011, 19h15   #7
Membre à l'essai
 
Homme
Étudiant
Inscription : juin 2009
Messages : 64
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations professionnelles :
Activité : Étudiant
Secteur : Industrie

Informations forums :
Inscription : juin 2009
Messages : 64
Points : 22
Points : 22
Citation:
Je ne comprends pas ta question :
Citation:
Citation:
Envoyé par 7ider5
Est ce que "Table TypeDonneeMeteo" inclue les tables G, Gd, Gc, A, Ad, Ac, Td ?
Ok je crois que je viens de comprendre, il me faut bien une table "heure" et une table "TypeDeDonnées" pour pouvoir pointer sur une donnée en particulier.

Meaculpa
7ider5 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 17/02/2011, 19h40   #8
Expert Confirmé
 
Avatar de Richard_35
 
Homme
Inscription : juillet 2007
Messages : 2 176
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France, Ille et Vilaine (Bretagne)

Informations forums :
Inscription : juillet 2007
Messages : 2 176
Points : 2 805
Points : 2 805
Bien, maintenant que nous avons stratégie CIBLE (Access), il faut mettre au point la stratégie SOURCE (Excel).

Tu peux, déjà, dans Access, saisir les données des tables de bases :
  • Communes (liste des titres d'onglets) ==> peut-être as-tu un fichier à importer dans Access ;
  • Inclinaisons ((colonne A du fichier Excel) ;
  • Mois (ligne 1 du fichier Excel) ;
  • Heures (colonne B, K, T, etc... du fichier Excel) => copier/coller dans un nouveau fichier Excel, puis importation dans Access (sinon, saisir les heures, une par une) ;
  • TypeDonneeMeteo (colonne C, D, E, etc... du fichier Excel).

Ensuite, réfléchir à la manière de repérer une cellule de manière unique dans cet univers à 5 dimensions !... Et étudier sa programmation en VBA.

Penses-tu pouvoir le faire ?
__________________
Dis-nous et à bientôt,
Richard.
----------------------------------------------------------------------------------------------
En cas de résolution, et afin de faciliter la tâche des bénévoles, merci de cliquer sur .
et permettent aux forumeurs de cibler leur recherche dans une discussion : n'hésitez pas à voter !
Richard_35 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/02/2011, 16h13   #9
Membre à l'essai
 
Homme
Étudiant
Inscription : juin 2009
Messages : 64
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations professionnelles :
Activité : Étudiant
Secteur : Industrie

Informations forums :
Inscription : juin 2009
Messages : 64
Points : 22
Points : 22
Bonjour Richard,

Effectivement, j'ai maintenant une bonne vision de ce à quoi doit ressembler ma base de données.
En revanche, est ce que je ne peux pas créer juste une table Commune
dans laquelle il y a :
Clé||CodeCommune||Inclinaison||Mois||Heure||G||Gd||Gc||A||Ad||Ac||Td

Ce serait peut être plus simple à remplir par la suite non?
7ider5 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/02/2011, 17h22   #10
Expert Confirmé
 
Avatar de Richard_35
 
Homme
Inscription : juillet 2007
Messages : 2 176
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France, Ille et Vilaine (Bretagne)

Informations forums :
Inscription : juillet 2007
Messages : 2 176
Points : 2 805
Points : 2 805
Bonjour 7ider5,

Oui, effectivement, tu peux supprimer des dimensions, voire toutes les dimensions.

Le MCD proposé, descend, au maximum, dans le détail, si bien que :
- en cas de besoin d'une nouvelle commune, tu l'ajoutes à un seul endroit : la table Communes ;
- en cas de besoin d'une nouvelle inclinaison, tu l'ajoutes à un seul endroit : la table Inclinaisons ;
- en cas de besoin d'un nouveau mois (rare, c'est vrai), tu l'ajoutes à un seul endroit : la table Mois ;
- en cas de besoin d'une nouvelle heure (ou de changer les heures), tu l'ajoutes à un seul endroit : la table Heures ;
- en cas de besoin d'un nouveau type de donnée météo (à ajouter à la liste : G, Gd, Gc, A, Ad, Ac, Td), tu l'ajoutes à un seul endroit : la table TypeDonneeMeteo.
==> ensuite, le lien entre toutes ces dimensions s'effectue dans la table DonneeMeteo.

Dans la structure que tu proposes, il faudra répéter, dans la table :
- pour toutes les heures : tous les mois, toutes les inclinaisons et toutes les communes.
==> beaucoup de données redondantes, donc.

Attention, la structure que tu proposes est correcte, mais s'apparente à un simple fichier Excel, soit :
Table DonneesMeteo :
- Clé (clé primaire)
- CodeCommune
- Inclinaison
- Mois
- Heure
- Valeur_G
- Valeur_Gd
- Valeur_Gc
- Valeur_A
- Valeur_Ad
- Valeur_Ac
- Valeur_Td
==> en cas de nouveau besoin, il faudra ajouter un champ : c'est parfaitement faisable.

Un compromis pourait être intéressant : la suppression de la table TypeDonneeMeteo. Nous aurions donc :
Table DonneeMeteo :
- Id_DonneeMeteo (clé primaire, numéro auto)
- Id_Commune
- Id_Inclinaison
- Id_Mois
- Id_Heure
- Valeur_G
- Valeur_Gd
- Valeur_Gc
- Valeur_A
- Valeur_Ad
- Valeur_Ac
- Valeur_Td

Donc, à toi de voir jusqu'où tu veux "variabiliser" tes données finales : la table DonneeMeteo.
__________________
Dis-nous et à bientôt,
Richard.
----------------------------------------------------------------------------------------------
En cas de résolution, et afin de faciliter la tâche des bénévoles, merci de cliquer sur .
et permettent aux forumeurs de cibler leur recherche dans une discussion : n'hésitez pas à voter !
Richard_35 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 14h01.


 
 
 
 
Partenaires

Hébergement Web