< Représentation de données Excel vers Access | Forum des BTS

Représentation de données Excel vers Access

  • Auteur de la discussion Auteur de la discussion Alexia
  • Date de début Date de début

Alexia

New Member
En fait je n'arrive pas à intégrer dans Access des données qui sont dans Excel car je ne sais pas comment les représenter dans les tables et dans les relations.

En gros mon fichier Excel comporte 15000 lignes clients avec tout ce qui se réfère à des clients (adresse, nom, service, etc...) et pour chacun d'entre eux, je sais s'ils ont reçu 1 ou plusieurs des catalogues produits de la société
Sous Access, j'ai 3 tables : CLIENT (avec tout ce qui concerne le client) CATALOGUE (numéro de catalogue, date de parution et nom du catalogue) et ENVOI (numéro d'envoi, date d'envoi, date de parution).

Donc ce que je voudrais arriver à voir quand j'affiche ma table Clients dans Access, c'est : les noms des catalogues affichés non pas en liste déroulante car je ne peux en sélectionner qu'1 dans ce cas, mais pouvoir clicker dans une petite case pour montrer quel est LE ou LES catalogues que le client a reçu.... et ça je sais pas pas faire. Sans ça ma base est incomplète et je ne peux pas faire de requête intéressante.

Je ne sais pas si vous avez compris mais bon peut être qu'un ou une d'entre vous aura une illumination.
Je veux bien envoyer mon fichier si nécessaire si ça peut aider à comprendre

Alexia
 
Excel Access

Salut,

je suis ok pour que tu m'envois ton fichier afin que je puisse t'aider et mieux comprendre ce que tu veux faire grâce à tes explications dans ton post.
 
Alexia94 a dit:
En gros mon fichier Excel comporte 15000 lignes clients avec tout ce qui se réfère à des clients (adresse, nom, service, etc...) et pour chacun d'entre eux, je sais s'ils ont reçu 1 ou plusieurs des catalogues produits de la société
Sous Access, j'ai 3 tables : CLIENT (avec tout ce qui concerne le client) CATALOGUE (numéro de catalogue, date de parution et nom du catalogue) et ENVOI (numéro d'envoi, date d'envoi, date de parution).

Donc ce que je voudrais arriver à voir quand j'affiche ma table Clients dans Access, c'est : les noms des catalogues affichés non pas en liste déroulante car je ne peux en sélectionner qu'1 dans ce cas, mais pouvoir clicker dans une petite case pour montrer quel est LE ou LES catalogues que le client a reçu.... et ça je sais pas pas faire. Sans ça ma base est incomplète et je ne peux pas faire de requête intéressante.
Alexia

si tu peux m'envoyer ton fichier je veux bien tester (gestioniup@yahoo.fr)
mais ton modèle est incomplet;

une entitité client qui deviendra une table client ok
une entitié catalogue qui deviendra une table catalogue ok
mais envoi est une association qui devient une table donc il faut pour passer de client à envoi et de catalogue à envoi que tu intègres dans ta table envoi, le numéro de client et le numéro de cataloque qui te peremettent de faire les liens (relations selon access) et de passer donc d'une table à l'autre
mais ça suppose que par envoi tu n 'as qu'un catalogue sinon envoi serait une association et il te faut encore une autre table liste envoi
ton modèle serait
client (codclient; nom;.....)
Catalogue(codcatalogue; libellecatalogue...)
envoi(codenvoi, codclient)
listeenvoi(codenvoi,codcatalogue)
les liens entre tables seront : codclient dans client= codclent dans envoi
codenvoi dans envoi= codeenvoi dans listeenvoi
codcatalogue dans catalogue= codecatalogue dan sliste envoi
donc tu peux faire les requetes que tu veux , les liens sont là
peux tu m'envoyer la base pourque je teste
 
^^ yop ^^

Moi j'ai un ti problème mon tuteur de stage m'a demandé de faire une gigantesque base de données grâce a des données Excel ce qui permettrai de mieux gérer l'entreprise grâce a des graphiques et des calculs de statistiques et tout le tralala

Problème je ne sais pas prendre les données d'une feuille excel pour les mettre dans une base de données :( (ce ki pose un ti pe problème) donc pourriez vous m'aider svp :)

Au moins me dire comment on pe le faire pour 2 cellules excel et kels outils (logiciels) je dois utiliser :)

:wink: marci d'avance :wink:
 
Excel -> Access

Salut,

Ce que tu dois faire dans ta feuille de calculs d'Excel, c'est la mise en forme de tes données. Je suppose que toutes tes données "client", "catalogue" et "envoi" sont sur la même feuille de calculs, faut-il l'espérer !

Ensuite réfléchir à la règle suivante : Pour un client, il existe un ou plusieurs envois, chaque envoi concerne un et un seul catalogue.

A l'évidence la règle est correcte.
Ton MCD schématisé avec les 2 entités "client" et "catalogue" et avec la pseudo-entité "envoi".

Ton MDR sera ainsi
CLIENT (ID_CLI, NOM_CLI, ADS_CLI, etc)
CATALOGUE (ID_CAT, NOM_CAT, DATEPARU_CAT)
ENVOI (ID_CLI, ID_CAT, DATE_ENVOI)

Avec ce MDR tu mets en forme les données sur Excel. Sur une feuille de calculs tu regroupes les données "client", sur une autre les données "catalogue" et enfin sur une autre les données "envoi".
Tu nommes chaque onglet de feuille par CLIENT, CATALOGUE et ENVOI.

Une fois ce travail préparatoire réalisé, tu ouvres une base de données vide -> menu Fichier -> commande Données externes -> Importer et dans la liste "type de fichier" tu sélectionnes "Microsoft Excel" et tu suis l'assistant tranquillement.

@+
 
hum...

toi t'a aussi fait du Merise apparemment :P

bon euh d'une je n'ai pa de logiciel comme AMC Designer qui pe me permettre de faire un MCD ET MPD correcte

de 2 j'aimerai automarisé ça car si je dois me taper tous les docs excel un par un en ajoutant a chaque fois la source je sens que je v sortir une corde :P

(surtout que les gars de la société font régulièrement des mise a jour :( )

bon je vais mieux écrire car ce que tu as mis est vrai et marcherai mais ce n'est pas tout à fait ce dont j'ai besoin :) (mais merci kan meme de m'avoir répondu :) et aussi vite :))

Je travaille dan un centre d'appel

chaque opérateur prend le nom d'un client, son adresse, etc ... (juske la c vaseu), il le rentre dans son ti logiciel et paf ca crée une fiche client (si elle existe pas déjà) et l'ajoute par la suite dans Excel (fo d'ailleurs que j'éclaircisse ce point avec mon tuteur car le paf et le par la suite dans excel c étrange :P).

Enfin bref, les fichiers excel sont stockés sur notre serveur de données et je peux les exploiter quand bon me semble.

et c là que ca se complique :

via mon ordinateur local (ou j'ai installé easy php ce qui me permet de gérer une base de données) j'aimerai faire un "lien", un "logiciel", ou un "module", enfin quelque chose me permettant de transférer les données contenues dans les cellules du tableau excel dans ma base de données.

(je trouve que je me suis mieux expliquer là ^^)

j'ai fouiller le net et trouver 2 sources :

une en VBA qui chie car elle récupère mal les données (pi en plus fodrai ke je fasse 1 par 1 une bonne liste de fichiers) et un "logiciel" ou plutot une interface graphique se nommant xlsmagique qui me permet de faire csv, d fichiers sql, mais qui quand je fais importer plante sauvagement lol
:P pi c un peu chiant quand c ce que l'on ve faire :P

g donc continué ma recherche et tout le monde parle de ce
xlsmagique
mais chez moi ca plante en plein milieu meme avec des documents excel quasi vide donc je c pa koi faire :(.

vala :) j'espère avoir mieux expliciter mon problème :)

encore merci pour ta réponse vestal :)

PS : euh je n'aime pas ACCESS because a mes yeux c de la grosse mer... et qu'il fo souven réparer la base donc les outils je ve bien tou sauf ça :P
 
Moi je conseillerais quand meme la création d'un fichier SQL a partir de VBA puis une importation avec un petit script php...
Le prog en vba devrait pas etre trop dur à faire a condition de connaitre le sql et vba biensur ;)
Pour le script PHP ben deux cliques sur google vous donneront la réponse.
si vous avez besoin d'aide je peux vous donner un coup de main ;)

NB : un fichier sql est un fichier txt qui porte l'extension sql ni plus ni moins
 
Arf Dudy

J'ai pas mis le correcteur d'orthographe en route dans la saisie de mon post !

Nul n'est parfait et l'erreur est humaine !

Don't act !

MRD ou MLD ou MPD
 
merci pour ta tite soluce Dudy mais je connais pas le VBA :cry:

je c juste que c le petit truc que tu te sers pour faire des macros et qu'il fo faire Alt+F11 pour s'en servir ou aller sous Macro dan le menu mais alors après le code j'y connai rien :cry:


euh perso je connais sous l'appelation MPD (model physique de données :)) mais bon chacun apprend comme il ve, du moment qu'il comprenne :)
 
Vestal c'etait juste question que les personnes lisants le poste ne se trompe pas et reprennent pour elles le terme MDR...
ceci dit je vois pas ce que viens faire le correcteur d'orthographe la dedans...

Donc dans les possibilité nous avons :
MLD (modéle logique de données)
MRD (modèle relationnel de données)
MPD (modèle physique de données)

A++
 
Re: Excel -> Access

vestal974 a dit:
Salut,

Ce que tu dois faire dans ta feuille de calculs d'Excel, c'est la mise en forme de tes données. Je suppose que toutes tes données "client", "catalogue" et "envoi" sont sur la même feuille de calculs, faut-il l'espérer !
......


Heu Vestal, franchement je suis vraiment désolée car je n'avais pas du tout réalisé que tu répondais à mon message :shock:
En fait j'ai passé l'examen en mai sans avoir réussi à finir ce que je voulais sur Access et du coup j'ai fait un mode opératoire en quatrième vitesse pour avoir quelque chose à présenter le jour J et j'ai tourné la chose en indiquant au jury que c'était un boulot de titan qui ne pouvait pas être réalisé lors d'un stage de 3 semaines et que je n'avais pas pu achever mon action (tout ça lors des 10 mns)... puis j'ai eu de la chance car j'ai pu choisir mon APA alors adios Access je suis passée à travers !!!

En tous cas merci pour ton intervention, ça servira peut être à quelqu'un d'autre qui aura le même problème que moi...

Alexia
 
j'ai quasi tout trouvé, il me manque plus qu'un truc ^^

en fait ce qu'il me fodrai maintenant c savoir comment je fais pour que toutes les valeurs qui sont dans la cellule "A1" dans le fichier CSV soit intégrer directement dans ma base de données comme des nom de colonnes.

Exemple (fichier excel) :

Nom Age
Maurisme 20
Bobby 18

(fichier csv) :

Nom;Age;
Maurisme;20;
Bobby;18;


(base de données) :

Nom Age
Maurisme 20
Bobby 18


et non pas (base de données):


Nom Age

Nom Age
Maurisme 20
Bobby 18

car là je connais le nom des colonnes vu que c d tests mais les noms des colonnes je ne les connais pas (enfin pas encore) et je ne ve pa changer mon script PHP pour chaque nom car sinon ce serai trop long (surtout que plus d'une centaine de fichier excel à gérer euh... ca risque d'etre long quand meme.

Donc si quelqu'un peut me trouver l'astuce je suis preneur :)

Merci bocoup :)
 
Pour Alexia,

Pas grave en ce qui concerne le post.

Pour Dudy

J'ai fait une faute de frappe, je l'ai bien indiqué dans mon post et le correcteur d'orthographe ne m'a pas indiqué l'erreur, normal, puisqu'il n'y en à pas dans l'interface. :shock: N'est pas prof de mathématiques qui veut :wink:

Pour Maurisme

Tu cherches à faire quoi exactement. Tu veux migrer tes données d'Excel vers quel SGBDR (Access, PHP/MySQL)?

@+
 
vers PHP/MYSQL pour le moment (vu que j'utilise easy php) et peut etre sql server par la suite uen fois que je l'aurai testé et maitriser :)

Sinon toi tu me conseillerais quoi ??
 
vestal974 a dit:
Pour Dudy

J'ai fait une faute de frappe, je l'ai bien indiqué dans mon post et le correcteur d'orthographe ne m'a pas indiqué l'erreur, normal, puisqu'il n'y en à pas dans l'interface. :shock: N'est pas prof de mathématiques qui veut :wink:

Faut pas se facher, c'etait juste pour que les gens ne se trompe pas et ne reprennent pas le terme MDR...

Le rapport avec les maths?

PS: faire une faute de frappe ca arrive, mais la repeter dans le même post j'appel plus ca une faute de frappe... n'est pas prof d'abi qui veut... :mrgreen:
 
Pas faché du tout, t'inquiète pas !

J'avais pas remarqué les 2 erreurs sur MDR. Don't act !

L'essentiel est dans l'explication que j'ai donné, qui me semble être cohérente. Enfin je l'espère, puisque personne ne dit mot !

En fait, je suis pas prof d'ABI, c'est une fonction annexe. Je suis dans le P10 et les méthodes quantitatives.

@+
 
Excel -> MySQL

Salut,

Qui est réellement concerné par le post migration des données d'Excel vers MySQL ?

Maurisme ou romainb ? ou est-ce la même personne ?

Si tu travailles sous php1.6/1.7 tu as alors déjà créé ta base de données?

De plus, le sépareur dans un fichier *.sql est la virgule (,) et que les valeurs sont toutes balisées par des guillemets (" ").

@+
 
Pour la partie VBA il faut regarder comment créer un fichier txt. Dans ce fichier txt générer les requetes sql qui permettront de mettre à jours ta base de données :

- create table
- insert into
- values

Pour générer ces requetes le mieux est encore d'utiliser une variable dans laquelle tu concatenes reciproquement les commandes SQL et les données genre :

admettons que nous ayons une table client avec 4 champs. les données se trouvent dans une feuille de calcul excel appelée Feuil1

Num_client (incrementation auto)
nom_client (colonne 1 feuille excel)
prenom_client (colonne 2 feuille excel)
adresse_client (colonne 3 feuille excel)

voici comment générer les requêtes dans une seconde feuil "Feuil2"

sub creation_requete ()
dim i as integer 'déclaration des variables

'initialisation de la variable d'incrementation
i = 1

'debut de la recherche des données
while worksheets("Feuil1").cells(i,1) <>empty

worksheets("Feuil2").cells(i,1) = "insert into client(nom_client, prenom_client, adresse_client) "
worksheets("Feuil2").cells(i,1) = worksheets("Feuil2").cells(i,1) & " values ('" & worksheets("Feuil1").cells(i,1) & "'" & worksheets("Feuil1").cells(i,2) & "'" & worksheets("Feuil1").cells(i,3) & "');"

i = i + 1

'fin de la recherche des données
wend

end sub

reste a générer le fichier txt et insérer les requetes. Je ne me rappel plus la méthode mais une recherche rapide sur google devrait te donner la reponse sans problème... sinon demandes je regarderai ;)
 
Retour
Haut