|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Membre à l'essai
![]() Étudiant Inscription : juin 2009 Messages : 64 ![]() |
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. |
|
|
00
|
|
|
#2 |
|
Expert Confirmé
![]() Inscription : juillet 2007 Messages : 2 176 ![]() |
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. ---------------------------------------------------------------------------------------------- . et permettent aux forumeurs de cibler leur recherche dans une discussion : n'hésitez pas à voter !
|
|
|
00
|
|
|
#3 |
|
Membre à l'essai
![]() Étudiant Inscription : juin 2009 Messages : 64 ![]() |
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 |
|
|
00
|
|
|
#4 | ||
|
Expert Confirmé
![]() Inscription : juillet 2007 Messages : 2 176 ![]() |
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 :
__________________
Dis-nous et à bientôt, Richard. ---------------------------------------------------------------------------------------------- . et permettent aux forumeurs de cibler leur recherche dans une discussion : n'hésitez pas à voter !
|
||
|
|
00
|
|
|
#5 |
|
Membre à l'essai
![]() Étudiant Inscription : juin 2009 Messages : 64 ![]() |
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 |
|
|
00
|
|
|
#6 | |||||
|
Expert Confirmé
![]() Inscription : juillet 2007 Messages : 2 176 ![]() |
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 :
Je ne comprends pas ta question : Citation:
Code :
__________________
Dis-nous et à bientôt, Richard. ---------------------------------------------------------------------------------------------- . et permettent aux forumeurs de cibler leur recherche dans une discussion : n'hésitez pas à voter !
|
|||||
|
|
00
|
|
|
#7 | ||
|
Membre à l'essai
![]() Étudiant Inscription : juin 2009 Messages : 64 ![]() |
Citation:
Meaculpa |
||
|
|
00
|
|
|
#8 |
|
Expert Confirmé
![]() Inscription : juillet 2007 Messages : 2 176 ![]() |
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 :
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. ---------------------------------------------------------------------------------------------- . et permettent aux forumeurs de cibler leur recherche dans une discussion : n'hésitez pas à voter !
|
|
|
00
|
|
|
#9 |
|
Membre à l'essai
![]() Étudiant Inscription : juin 2009 Messages : 64 ![]() |
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? |
|
|
00
|
|
|
#10 |
|
Expert Confirmé
![]() Inscription : juillet 2007 Messages : 2 176 ![]() |
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. ---------------------------------------------------------------------------------------------- . et permettent aux forumeurs de cibler leur recherche dans une discussion : n'hésitez pas à voter !
|
|
|
00
|
Copyright © 2000-2012 - www.developpez.com