IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

VBA Access Discussion :

export access à excel qui ne marche pas comme souhaité?


Sujet :

VBA Access

  1. #1
    Membre confirmé
    Inscrit en
    Novembre 2007
    Messages
    187
    Détails du profil
    Informations forums :
    Inscription : Novembre 2007
    Messages : 187
    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

  2. #2
    Expert confirmé Avatar de Richard_35
    Homme Profil pro
    Inscrit en
    Juillet 2007
    Messages
    3 121
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations forums :
    Inscription : Juillet 2007
    Messages : 3 121
    Par défaut
    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.

  3. #3
    Membre confirmé
    Inscrit en
    Novembre 2007
    Messages
    187
    Détails du profil
    Informations forums :
    Inscription : Novembre 2007
    Messages : 187
    Par défaut
    rend toi compte que j'ai fait une analyse croisé que voici
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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

  4. #4
    Rédacteur/Modérateur

    Avatar de User
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2004
    Messages
    8 598
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Août 2004
    Messages : 8 598
    Billets dans le blog
    67
    Par défaut
    Salut Kesamba,

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

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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+
    Vous trouverez dans la FAQ, les sources ou les tutoriels, de l'information accessible au plus grand nombre, plein de bonnes choses à consulter sans modération

    Des tutoriels pour apprendre à créer des formulaires de planning dans vos applications Access :
    Gestion sur un planning des présences et des absences des employés
    Gestion des rendez-vous sur un calendrier mensuel


    Importer un fichier JSON dans une base de données Access :
    Import Fichier JSON

  5. #5
    Membre confirmé
    Inscrit en
    Novembre 2007
    Messages
    187
    Détails du profil
    Informations forums :
    Inscription : Novembre 2007
    Messages : 187
    Par défaut
    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+

  6. #6
    Expert confirmé Avatar de Richard_35
    Homme Profil pro
    Inscrit en
    Juillet 2007
    Messages
    3 121
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations forums :
    Inscription : Juillet 2007
    Messages : 3 121
    Par défaut
    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) ?

  7. #7
    Membre confirmé
    Inscrit en
    Novembre 2007
    Messages
    187
    Détails du profil
    Informations forums :
    Inscription : Novembre 2007
    Messages : 187
    Par défaut
    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

  8. #8
    Rédacteur/Modérateur

    Avatar de User
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2004
    Messages
    8 598
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Août 2004
    Messages : 8 598
    Billets dans le blog
    67
    Par défaut
    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 : Sélectionner tout - Visualiser dans une fenêtre à part
    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...
    Vous trouverez dans la FAQ, les sources ou les tutoriels, de l'information accessible au plus grand nombre, plein de bonnes choses à consulter sans modération

    Des tutoriels pour apprendre à créer des formulaires de planning dans vos applications Access :
    Gestion sur un planning des présences et des absences des employés
    Gestion des rendez-vous sur un calendrier mensuel


    Importer un fichier JSON dans une base de données Access :
    Import Fichier JSON

  9. #9
    Membre confirmé
    Inscrit en
    Novembre 2007
    Messages
    187
    Détails du profil
    Informations forums :
    Inscription : Novembre 2007
    Messages : 187
    Par défaut
    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

  10. #10
    Expert confirmé Avatar de Richard_35
    Homme Profil pro
    Inscrit en
    Juillet 2007
    Messages
    3 121
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations forums :
    Inscription : Juillet 2007
    Messages : 3 121
    Par défaut
    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 ?

  11. #11
    Membre confirmé
    Inscrit en
    Novembre 2007
    Messages
    187
    Détails du profil
    Informations forums :
    Inscription : Novembre 2007
    Messages : 187
    Par défaut
    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

  12. #12
    Rédacteur/Modérateur

    Avatar de User
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2004
    Messages
    8 598
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Août 2004
    Messages : 8 598
    Billets dans le blog
    67
    Par défaut
    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+
    Vous trouverez dans la FAQ, les sources ou les tutoriels, de l'information accessible au plus grand nombre, plein de bonnes choses à consulter sans modération

    Des tutoriels pour apprendre à créer des formulaires de planning dans vos applications Access :
    Gestion sur un planning des présences et des absences des employés
    Gestion des rendez-vous sur un calendrier mensuel


    Importer un fichier JSON dans une base de données Access :
    Import Fichier JSON

  13. #13
    Membre confirmé
    Inscrit en
    Novembre 2007
    Messages
    187
    Détails du profil
    Informations forums :
    Inscription : Novembre 2007
    Messages : 187
    Par défaut
    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.

  14. #14
    Membre confirmé
    Inscrit en
    Novembre 2007
    Messages
    187
    Détails du profil
    Informations forums :
    Inscription : Novembre 2007
    Messages : 187
    Par défaut
    il n'y a vraiment personne pour m'aider?

  15. #15
    Rédacteur/Modérateur

    Avatar de User
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2004
    Messages
    8 598
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Août 2004
    Messages : 8 598
    Billets dans le blog
    67
    Par défaut
    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
    Vous trouverez dans la FAQ, les sources ou les tutoriels, de l'information accessible au plus grand nombre, plein de bonnes choses à consulter sans modération

    Des tutoriels pour apprendre à créer des formulaires de planning dans vos applications Access :
    Gestion sur un planning des présences et des absences des employés
    Gestion des rendez-vous sur un calendrier mensuel


    Importer un fichier JSON dans une base de données Access :
    Import Fichier JSON

  16. #16
    Membre confirmé
    Inscrit en
    Novembre 2007
    Messages
    187
    Détails du profil
    Informations forums :
    Inscription : Novembre 2007
    Messages : 187
    Par défaut
    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

Discussions similaires

  1. Réponses: 4
    Dernier message: 06/05/2015, 16h53
  2. code importation excel=>Access qui ne marche pas
    Par marcuscircus dans le forum VBA Access
    Réponses: 2
    Dernier message: 20/06/2008, 10h34
  3. VBA Access : Fonction find qui ne marche pas
    Par leeloo35 dans le forum VBA Access
    Réponses: 7
    Dernier message: 09/02/2008, 16h56
  4. [access 2007] un bouton de commande qui ne marche pas
    Par Milyshyn76 dans le forum VBA Access
    Réponses: 5
    Dernier message: 04/01/2008, 09h33
  5. Réponses: 1
    Dernier message: 10/02/2007, 01h09

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo