Précédent   Forum des professionnels en informatique > Logiciels > Microsoft Office > Access > VBA Access
VBA Access Le forum pour les questions relatives au code VBA sous Access, et à son environnement de développement VBE.
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 12/03/2011, 13h21   #1
Invité régulier
 
Inscription : novembre 2007
Messages : 53
Détails du profil
Informations forums :
Inscription : novembre 2007
Messages : 53
Points : 6
Points : 6
Par défaut export access à excel qui ne marche pas comme souhaité?

Bonjour,
j'ai une table sous access de cette forme


N°Client | date de livraison| Produits
1 | 07/01/11 | Produits1
1 | 24/02/11 | Produits2
1 | 06/03/11 | Produits2
2 | 01/01/11 | Produits1
2 | 05/04/11 | Produits3
2 | 01/10/11 | Produits5
3 | 02/01/11 | Produits5
3 | 11/02/11 | Produits4
3 | 12/12/11 | Produits5
J'aimerai l'exporter vers excel sous cette forme. J'y arrive pas. Quelquun pouraait il m'aider?

Mois Janvier Fevrier Mars ...
date de livraison | 01/01/11 | 02/01/11 |..........| 07/01/11 |... 01/02/11 02/02/11 03/02/11 ... 01/03/11 02/03/11 03/03/11 ... ...
N°Client |
1 |----------|----------|----------| Produits1|... ...
2 | Produits1|----------|----------|----------|
3 |----------| Produits5|----------|----------|... ...


Merci
kesamba est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/03/2011, 14h32   #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 Kesamba,

Sous Access, il faut créer une requête "analyse croisée" : passes par l'assistant, et réponds au questions posées, c'est très clair.

En testant plusieurs cas, tu devrais obtenir ce que tu souhaites.

En final, après la mise au point, il te faudra exporter cette requête sous Excel.
__________________
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 12/03/2011, 21h23   #3
Invité régulier
 
Inscription : novembre 2007
Messages : 53
Détails du profil
Informations forums :
Inscription : novembre 2007
Messages : 53
Points : 6
Points : 6
rend toi compte que j'ai fait une analyse croisé que voici
Code :
1
2
3
4
5
6
7
 
TRANSFORM First(T_Clients.Produits) AS PremierDeProduits
SELECT T_Clients.N°Client
FROM T_Clients 
GROUP BY T_Clients.N°Client
ORDER BY Format([date_de_livraison],"Short Date")
PIVOT Format([date_de_livraison],"Short Date");
mon problème c'est comment groupé ma requête par moi à telle enseigne que je puisse l'exporter vers excel comme décris dans mon mail précédent.

Merci
kesamba est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/03/2011, 23h04   #4
Rédacteur/Modérateur
 
Avatar de User
 
Homme Denis
Développeur informatique
Inscription : août 2004
Messages : 3 205
Détails du profil
Informations personnelles :
Nom : Homme Denis
Âge : 42
Localisation : France

Informations professionnelles :
Activité : Développeur informatique

Informations forums :
Inscription : août 2004
Messages : 3 205
Points : 5 258
Points : 5 258
Salut Kesamba,

Tu peux utiliser une requête paramétrée que tu exportes :

Code :
1
2
3
4
5
6
7
8
PARAMETERS [Mois] Value, [Annee] Value;
TRANSFORM First(T_Clients.Produits) AS PremierDeProduits
SELECT T_Clients.N°Client
FROM T_Clients
WHERE ((Month([Date_de_livraison])=[Mois]) AND (Year([Date_de_livraison])=[Annee]))
GROUP BY T_Clients.N°Client
ORDER BY Format([date_de_livraison],"Short Date")
PIVOT Format([date_de_livraison],"Short Date");
A+
__________________
Merci de ne pas poster sur mon profil pour des problèmes techniques. Pour celà vous pouvez utiliser le forum ou m'envoyer un mp.

Bon développement !


Mes tutoriels et contributions sur ma page perso:
Ma page personnelle
User est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/03/2011, 00h02   #5
Invité régulier
 
Inscription : novembre 2007
Messages : 53
Détails du profil
Informations forums :
Inscription : novembre 2007
Messages : 53
Points : 6
Points : 6
Merci déjà pour ta réponse mais mon problème c'est que pour une meilleure vue d'ensemble sur les clients et leurs produits, j'aimerais exporter tous les douze mois de l'année à la fois dans une seule feuille excel. Si je choisi la solution que tu as proposée, je serai obligé de faire 12 requêtes analyses croisées et d'essayer avec Vba de les insérer tous dans une feuille comme décris dans mon premier post. Je trouve ca sera un peu lourd. Au fait la difficultés se trouve à ce niveau.

A+
kesamba est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/03/2011, 13h11   #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
Bonjour à tous,

Je n'ai pas compris, Kesamba : dans un premier temps, as-tu réussi à créer une requête te donnant le résultat que tu souhaites dans ton post initial (soit; 1 ligne par client avec toutes les dates en colonne et le code produit en donnée) ?
__________________
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 13/03/2011, 13h25   #7
Invité régulier
 
Inscription : novembre 2007
Messages : 53
Détails du profil
Informations forums :
Inscription : novembre 2007
Messages : 53
Points : 6
Points : 6
oui et j'en ai 12 à raison d'une requete par mois. J'aimerai maintenant les exporter dans une même et unique feuille excel. Et c'est là que j'ai un problème
kesamba est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/03/2011, 13h35   #8
Rédacteur/Modérateur
 
Avatar de User
 
Homme Denis
Développeur informatique
Inscription : août 2004
Messages : 3 205
Détails du profil
Informations personnelles :
Nom : Homme Denis
Âge : 42
Localisation : France

Informations professionnelles :
Activité : Développeur informatique

Informations forums :
Inscription : août 2004
Messages : 3 205
Points : 5 258
Points : 5 258
Salut Richard et Kesamba,


I - tableau croisée dynamique


Pourquoi ne pas utiliser un tableau croisée dynamique pour avoir en en-tête de colonne les mois et les dates et en en-tête de ligne les clients:

Tableau que tu créé à partir de la requête :

Code sql :
1
2
3
SELECT T_Clients.N°Client, T_Clients.Date_de_livraison, T_Clients.Produits, Format([Date_de_livraison],"mmmm") AS Mois, Year([Date_de_livraison]) AS Année
FROM T_Clients
ORDER BY T_Clients.Date_de_livraison;

Tout ceci et bien plus encore est expliqué dans cette vidéo de Maxence Hubiche. C'est pour Access 2010, mais pas mal de chose se retrouve dans les versions antérieures.

II - Requête analyse croisée

Sinon tu enlèves simplement le paramètre [Mois] dans la requête croisée que je t'es posté et tu exportes tout ca...
__________________
Merci de ne pas poster sur mon profil pour des problèmes techniques. Pour celà vous pouvez utiliser le forum ou m'envoyer un mp.

Bon développement !


Mes tutoriels et contributions sur ma page perso:
Ma page personnelle
User est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/03/2011, 14h14   #9
Invité régulier
 
Inscription : novembre 2007
Messages : 53
Détails du profil
Informations forums :
Inscription : novembre 2007
Messages : 53
Points : 6
Points : 6
Au fait c'est l'export qui est difficile. J'ai délimité les plages à importer dans ma feuille comme ceci:

N°Client A3:A20

mois de janvier B3:AF20
mois de fevrier AG3:BI20
mois de fevrier BJ3:CN20
ainsi de suite

et le Remplissage dans Excel


appexcel.cells(3, 2) = rst![Nomduchamps]
appexcel.cells(3, 3) = rst![Nomduchamps]
appexcel.cells(3, 4) = rst![Nomduchamps]
...
...

ainsi de suite
Ca ne marche pas
kesamba est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/03/2011, 14h21   #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
Si j'ai bien tout compris, tu souhaites, lors du traitement d'un nouveau mois :
  • ajouter autant de colonnes que de date pour le nouveau mois ;
  • ajouter autant de lignes que de nouveaux clients ;
  • modifier les lignes pour les clients déjà existants dans les mois précédents.

Est-ce bien cela ?
__________________
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 13/03/2011, 14h42   #11
Invité régulier
 
Inscription : novembre 2007
Messages : 53
Détails du profil
Informations forums :
Inscription : novembre 2007
Messages : 53
Points : 6
Points : 6
je veux juste exporter les données de ma table qui sont en vrac vers excel en triant et en délimitant les plages à importer par mois.
Le but c'est d'avoir une meilleure vue d'ensemble sur les clients et leurs produits
pour une année donnée
kesamba est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/03/2011, 16h34   #12
Rédacteur/Modérateur
 
Avatar de User
 
Homme Denis
Développeur informatique
Inscription : août 2004
Messages : 3 205
Détails du profil
Informations personnelles :
Nom : Homme Denis
Âge : 42
Localisation : France

Informations professionnelles :
Activité : Développeur informatique

Informations forums :
Inscription : août 2004
Messages : 3 205
Points : 5 258
Points : 5 258
Citation:
Le but c'est d'avoir une meilleure vue d'ensemble sur les clients et leurs produits
pour une année donnée
Dans ce cas pourquoi exporter vers Excel alors que les tableaux croisés dynamique peuvent faire la même chose

Voici un exemple, basé sur une requête simple et qui te permet de filtrer par année :
bd1.zip

Il faut ouvrir le formulaire "F_OuvrirTCD"...

A+
__________________
Merci de ne pas poster sur mon profil pour des problèmes techniques. Pour celà vous pouvez utiliser le forum ou m'envoyer un mp.

Bon développement !


Mes tutoriels et contributions sur ma page perso:
Ma page personnelle
User est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/03/2011, 17h14   #13
Invité régulier
 
Inscription : novembre 2007
Messages : 53
Détails du profil
Informations forums :
Inscription : novembre 2007
Messages : 53
Points : 6
Points : 6
Okay mais seulement sous access on ne peux avoir une vue sur les 12 mois de l'année en un seul coup dans un formulaire maxi 2 mois comme dans ton exemple alors que c'est possible sous Excel. Je veux afficher tous les jours de chaque mois même si ce jour ne se trouve pas dans ma base. Si je fais un export simple ca ne sera pas possible. c'est pourquoi j'ai délimité ma plage sur excel comme dans un calendrier et j'aimerai tout simplement y coller les données. Je veux juste savoir si mon idée est réalisable. Si oui aider moi s'il vous plait. Je n'arrive pas à le faire tout seul.

Merci beaucoup.
kesamba est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/03/2011, 20h42   #14
Invité régulier
 
Inscription : novembre 2007
Messages : 53
Détails du profil
Informations forums :
Inscription : novembre 2007
Messages : 53
Points : 6
Points : 6
il n'y a vraiment personne pour m'aider?
kesamba est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/03/2011, 20h44   #15
Rédacteur/Modérateur
 
Avatar de User
 
Homme Denis
Développeur informatique
Inscription : août 2004
Messages : 3 205
Détails du profil
Informations personnelles :
Nom : Homme Denis
Âge : 42
Localisation : France

Informations professionnelles :
Activité : Développeur informatique

Informations forums :
Inscription : août 2004
Messages : 3 205
Points : 5 258
Points : 5 258
Citation:
je veux juste savoir si mon idée est réalisable. Si oui aider moi s'il vous plait. Je n'arrive pas à le faire tout seul.
Pas simple à faire surtout pour un débutant en VBA
__________________
Merci de ne pas poster sur mon profil pour des problèmes techniques. Pour celà vous pouvez utiliser le forum ou m'envoyer un mp.

Bon développement !


Mes tutoriels et contributions sur ma page perso:
Ma page personnelle
User est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 14/03/2011, 07h54   #16
Invité régulier
 
Inscription : novembre 2007
Messages : 53
Détails du profil
Informations forums :
Inscription : novembre 2007
Messages : 53
Points : 6
Points : 6
Salut User,

C'est vraiment dommage pour moi. Mais merci de ton aide. J'ai une ou deux questions à te poser concernant le planning. Je ne sais pas si t'es dispo à me répondre. Si c'est le cas fait moi savoir et je t'envoie mes questions à ton adresse email.

Merci
kesamba 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 00h27.


 
 
 
 
Partenaires

Hébergement Web