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

Access Discussion :

Visualisation d'une analyse croisée [AC-2007]


Sujet :

Access

  1. #1
    Membre régulier
    Femme Profil pro
    Agente de bureau
    Inscrit en
    Août 2016
    Messages
    97
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 60
    Localisation : Canada

    Informations professionnelles :
    Activité : Agente de bureau
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Août 2016
    Messages : 97
    Points : 77
    Points
    77
    Par défaut Visualisation d'une analyse croisée
    * Bonjour, *

    A partir d'une table, j'ai fait un tableau d'analyse croisée et ensuite créer un état.
    Mais lorsque je visualise ce dernier, tous mes champs sont sur une même ligne et pourtant j'ai identifié ma colonne avec une champs intitulé "nom et prénom" et demandez les lignes par différence "No de module".

    Si j'essaie de déplacer l'un ou l'autre de ces champs, les valeurs ne se répètent pas.
    Je vous envoie l'état en question.
    Je veux que le nom de mes enseignants soient en tête de colonne et tous les # de module doivent être un sous l'autre.

    J'espère que vous pourrez m'aider.
    Images attachées Images attachées

  2. #2
    Modérateur

    Homme Profil pro
    Inscrit en
    Octobre 2005
    Messages
    15 331
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations forums :
    Inscription : Octobre 2005
    Messages : 15 331
    Points : 23 786
    Points
    23 786
    Par défaut
    Bonjour.

    J'ai regardé le pdf et je comprends pas ce que tu veux obtenir.

    Pourrais-tu mettre un exemple du résultat attendu ?

    A+
    Vous voulez une réponse rapide et efficace à vos questions téchniques ?
    Ne les posez pas en message privé mais dans le forum, vous bénéficiez ainsi de la compétence et de la disponibilité de tous les contributeurs.
    Et aussi regardez dans la FAQ Access et les Tutoriaux Access. C'est plein de bonnes choses.

  3. #3
    Membre régulier
    Femme Profil pro
    Agente de bureau
    Inscrit en
    Août 2016
    Messages
    97
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 60
    Localisation : Canada

    Informations professionnelles :
    Activité : Agente de bureau
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Août 2016
    Messages : 97
    Points : 77
    Points
    77
    Par défaut Voila ce que je veux
    J'ai essayé plusieurs fois l'analyse croisée mais ça ne marche pas car j'ai trop de données. Alors je suis parti d'une requête. Donc dans le premier PDF, j'ai réussi à placer les enseignants à droite de l'état et les modules en en-tête sauf que ma direction veut une visualisation de l'ensemble des enseignants par groupe (regrouper) les enseigants (en-tête de colonne) et # de modules (en-tête de lignes). Dans le 2e PDF est à titre indicatif, est ce que nous voulons obtenir. Tu pourras constater qu'il y a toujours le même nom car j'ai fait du copier/coller pour que tu vois ce que je veux. Donc, en en en-tête de colonne, le nom de chacun des enseignants et en en-tête de ligne les # de module un sous l'autre en y affectant les heures à chaque enseignants. J'espère que tu comprendras.
    Images attachées Images attachées

  4. #4
    Modérateur

    Homme Profil pro
    Inscrit en
    Octobre 2005
    Messages
    15 331
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations forums :
    Inscription : Octobre 2005
    Messages : 15 331
    Points : 23 786
    Points
    23 786
    Par défaut
    Bonjour.

    Access n'est pas le meilleur outils pour la présentation en matrice.

    Personnellement quand j'ai à faire un truc du genre, je le fais en Excel.
    Il suffit de "nourrir" Excel avec les données de Access (brutes) et d'utiliser les tableaux croisés dynamiques de Excel.
    C'est puissant, rapide et tu as plein d'options de mise en page ... bon il y a quelques glitchs mais ça vaut quand même d'être considéré.

    Ceci dit, si tu veux continuer en Access et si je te suis bien tu veux à voir.
    Entête de colonne l'enseignant (son nom et son numéro)
    Mais tu dis qu'en entête de lignes tu veux un module mais ce que je vois dans ton état semble un total.

    D'après ce que j'ai compris ton souhait est d'avoir

    Enseignant

    Module

    Nombre de livres par module par enseignant

    Total des livres par enseignant.
    Total des livres par module.

    Cela disposé en matrice (Est-ce absolument nécessaire ou si l'information était disponible en "colonne" ce serait acceptable ?).

    Combien d'enseignants as-tu ?
    Combien de modules as-tu ?

    A+
    Vous voulez une réponse rapide et efficace à vos questions téchniques ?
    Ne les posez pas en message privé mais dans le forum, vous bénéficiez ainsi de la compétence et de la disponibilité de tous les contributeurs.
    Et aussi regardez dans la FAQ Access et les Tutoriaux Access. C'est plein de bonnes choses.

  5. #5
    Membre régulier
    Femme Profil pro
    Agente de bureau
    Inscrit en
    Août 2016
    Messages
    97
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 60
    Localisation : Canada

    Informations professionnelles :
    Activité : Agente de bureau
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Août 2016
    Messages : 97
    Points : 77
    Points
    77
    Par défaut Suite
    Dans chaque département le nombre d'enseignants varie de 2 à 30 enseignants. En charpenterie il y en a 19 modules, en secrétariat 26 modules, en comptabilité 23 modules, santé 31 modules, etc.

    Peux-tu m'expliquer comment je fais pour nourrir Excel avec mes données d'Access (brute) et s'il sera possible d'ajouter un bouton dans ma base afin d'ouvrir ce fichier antérieurement directement d'Access? Je crois que cela règlerait peut-être mon problème.

    J'ai aussi essayé de faire des contrôle Indépendant pour chaque case que je veux une à coté de l'autre mais je ne trouve pas qu'elle fonction utilisée.

    C'est super que tu prennes de ton temps pour m'aider.

  6. #6
    Modérateur

    Homme Profil pro
    Inscrit en
    Octobre 2005
    Messages
    15 331
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations forums :
    Inscription : Octobre 2005
    Messages : 15 331
    Points : 23 786
    Points
    23 786
    Par défaut
    Bonjour.

    Pour "nourrir" Excel, tout ce que tu as a faire c'est d'ouvrir Excel et de choisir l'onglet données. II y a un choix Access où tu vas pouvoir définir d'où vienne tes données.

    En amont tu voudras sans doute créer une requête qui te présente les données dont tu as besoin.

    À mon avis elle devrait avoir au moins les champs suivants :
    • ClefEnseignant
    • NomEnseignant
    • PrenomEnseignant
    • ClefModule
    • DescriptionModule
    • ClefLivre (ou nombre de livre ?)


    Dans Excel tu vas choisir ta requête et Excel va "voir" les données.

    Attention si tu as un environnement de dév. et un environnement de prod. (ce que je recommande fortement), pense à changer la source quand tu déploies ton Excel sinon il ira cherche dans tes données de dév.

    Pour ouvrir Excel à partir de Access voici le code que j'utilise :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
     
        '=== Ouvre le Excel et complète les celulles
        Dim appExcel As Object 'As Excel.Application
        Set appExcel = CreateObject("Excel.Application")
        appExcel.Visible = True
     
        Dim classeur As Object 'as Excel.Workbook
        Set classeur = appExcel.Workbooks.Open(prmInfoFichierResultat.Chemin_Nom_Extention) 'Ici l'ouverture du fichier
     
        Dim feuille As Object 'As Excel.Worksheet 'Pour info tu ne devrais pas en avoir besoin
        Set feuille = classeur.Worksheets(1) 'À priori il n'y a q'une feuille dans le classeur 'Pour info tu ne devrais pas en avoir besoin
     
        Dim cellule As Object 'As Excel.Range 'Pour info tu ne devrais pas en avoir besoin
     
        'Ici du code si j'ai besoin d'agir sur le Excel
     
        Set feuille = Nothing
        Call classeur.Save
        Set classeur = Nothing
        'Call appExcel.Quit:
        Set appExcel = Nothing
        '--- Ouvre le Excel et complète les celulles
    Dans les référence tu peux ajouter Excel ce qui te permet de bénéficier de l'intellisens, ce qui facilite le développement.
    Le problème est que cela rend l'application dépendante d'un programme extérieur et que quand tu changes de version d'Access (ex : tu passes à 2016) Access change cette référence pour rester cohérent,
    Le soucis c'est si tes clients ont une version antérieure, quand ils ouvrent l'appli ils ont une erreur.
    L'astuce consiste à ne pas utiliser des objets Excel, mais des Object génériques.
    Le commentaire 'As Excel. permet de facilement passer de la version Object à la Version Excel avec un simple Rechercher/Remplacer.

    Donc :
    1. Pour développer tu mets une référence sur Excel.
    2. Tu définis tes éléments avec leur type Excel correspondant.
    3. Tu teste ton appli.
    4. Avant ta mise en production, tu enlèves cette référence à Excel.
    5. Tu remplaces tous les As Excel. par des As Object 'As Excel.
    6. TU compiles.
    7. Tu livres sans référence,


    A+
    Vous voulez une réponse rapide et efficace à vos questions téchniques ?
    Ne les posez pas en message privé mais dans le forum, vous bénéficiez ainsi de la compétence et de la disponibilité de tous les contributeurs.
    Et aussi regardez dans la FAQ Access et les Tutoriaux Access. C'est plein de bonnes choses.

  7. #7
    Modérateur

    Homme Profil pro
    Inscrit en
    Octobre 2005
    Messages
    15 331
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations forums :
    Inscription : Octobre 2005
    Messages : 15 331
    Points : 23 786
    Points
    23 786
    Par défaut
    J'ai aussi essayé de faire des contrôle Indépendant pour chaque case que je veux une à coté de l'autre mais je ne trouve pas qu'elle fonction utilisée.
    C'est une possibilité ... mais ultime.

    A+
    Vous voulez une réponse rapide et efficace à vos questions téchniques ?
    Ne les posez pas en message privé mais dans le forum, vous bénéficiez ainsi de la compétence et de la disponibilité de tous les contributeurs.
    Et aussi regardez dans la FAQ Access et les Tutoriaux Access. C'est plein de bonnes choses.

  8. #8
    Membre régulier
    Femme Profil pro
    Agente de bureau
    Inscrit en
    Août 2016
    Messages
    97
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 60
    Localisation : Canada

    Informations professionnelles :
    Activité : Agente de bureau
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Août 2016
    Messages : 97
    Points : 77
    Points
    77
    Par défaut D'autres questionnements
    J'ai joint ma base de données afin que tu puisse voir ce que je désire. Alors, à partir d'Access, j'ai importé mon fichier Excel et je l'ai appelé "T-Tableau pour choix de taches". À partie de cette table, j'ai créer un état appelé "E-Tableau pour choix de taches" c'est ainsi que nous devons visualiser les données car il doit être imprimé pour information à distribuer aux enseignants. Lorsque je vais ajouter des informations dans mon formulaire "F-Enseignants en charpenterie", les ajouts se font bien dans ma "T-Enseignants en charpenterie" mais pas dans "T-Tableau pour choix de taches" et E-Tableau pour choix de taches"

    Comment je fait pour faire le lien afin que les ajouts y soient transférés.

    Merci de tes précieux conseils.
    Fichiers attachés Fichiers attachés

  9. #9
    Modérateur

    Homme Profil pro
    Inscrit en
    Octobre 2005
    Messages
    15 331
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations forums :
    Inscription : Octobre 2005
    Messages : 15 331
    Points : 23 786
    Points
    23 786
    Par défaut
    Bonjour.

    Voir mon message privé.

    A+
    Vous voulez une réponse rapide et efficace à vos questions téchniques ?
    Ne les posez pas en message privé mais dans le forum, vous bénéficiez ainsi de la compétence et de la disponibilité de tous les contributeurs.
    Et aussi regardez dans la FAQ Access et les Tutoriaux Access. C'est plein de bonnes choses.

  10. #10
    Membre régulier
    Femme Profil pro
    Agente de bureau
    Inscrit en
    Août 2016
    Messages
    97
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 60
    Localisation : Canada

    Informations professionnelles :
    Activité : Agente de bureau
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Août 2016
    Messages : 97
    Points : 77
    Points
    77
    Par défaut Reponse
    Je demeure à St-Georges de Beauce donc, je ne suis pas à Montréal. Désolé.

  11. #11
    Modérateur

    Homme Profil pro
    Inscrit en
    Octobre 2005
    Messages
    15 331
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations forums :
    Inscription : Octobre 2005
    Messages : 15 331
    Points : 23 786
    Points
    23 786
    Par défaut
    Je vais regarder cela à la maison ce soir.

    A+
    Vous voulez une réponse rapide et efficace à vos questions téchniques ?
    Ne les posez pas en message privé mais dans le forum, vous bénéficiez ainsi de la compétence et de la disponibilité de tous les contributeurs.
    Et aussi regardez dans la FAQ Access et les Tutoriaux Access. C'est plein de bonnes choses.

  12. #12
    Modérateur

    Homme Profil pro
    Inscrit en
    Octobre 2005
    Messages
    15 331
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations forums :
    Inscription : Octobre 2005
    Messages : 15 331
    Points : 23 786
    Points
    23 786
    Par défaut
    Bonjour et désolé du délais.

    Ta structure de base de données n'est pas adaptée à Access.
    Tu as fait une conception "À la Excel" ce qui entre en conflit avec tous les outils dont Access dispose.

    Access travaille essentiellement en liste et beaucoup plus difficilement en colonne.
    Pour exploiter pleinement Access il faudrait présenter tes données comme suit :

    Enseignant Y
    Cours 1

    Liste des établissement où il donne le cours 1

    Cours 2

    Liste des établissement où il donne le cours 2

    Enseignant Z
    Cours 1

    Liste des établissement où il donne le cours 1

    Cours 3

    Liste des établissement où il donne le cours 3

    On peut un peu tricher en présentanat par exemple les cours en colonnes côte à côte mais pas tellement plus.

    Je t'aurai bien suggéré une architecture de ce type qui t'offre à la fois souplesse et évolutivoté mais je ne comprend pas bien quels sont les données que tu as.
    Par exemple que signifie, 03, 03 École, 03 Support, 03 Support École (et les autres champs portant un nom semblable) ?
    Sont-ce des activités ?

    Vu la structure que tu as adoptée, il est normal que les données ne s'ajoutent pas.
    La seule façon de le faire serait de faire du code VBA ou SQL pour que quand tu ajoutes une personne,

    • cela crée un champ dans la table [T-Tableau pour choix de tache]
    • et un champ dans le rapport [E-Tableau pour choix de taches].
    • et ajuste la mise en page du rapport Access en conséquence.


    ou alors

    • Revoir la structure de ta BD.
    • Créer un rapport Access avec des colonnes anonymes (ex : Enseignant01, Enseignant02, ... Enseignant50).
    • faire du code VBA ou SQL pour que quand tu ajoute une personne cela crée un champ dans la table [T-Tableau pour choix de tache]
    • Écrire du code VBA pour cacher les colonnes inutiles dans le rapport
    • Écrire du code VBA pour assigner les données aux bonnes colonnes anonymes.


    Cela n'a rien de simple.

    Dans l'état actuel des choses, la solution qui me paraît la plus viable c'est à partir des données de [T-Tableau pour choix de tache] de créer un tableau croisé dynamique dans Excel. Il me semble que cette table contient toutes les informations dont tu as besoin.

    Tu vas dans Excel, tu vas dans l'onglet données, tu choisi Access, puis la BD source et la table [T-Tableau pour choix de tache].
    Cela va créer une source de données.
    Après dans Excel tu crée un tableau croisé dynamique (TCD) qui va prendre cette source de données et tu disposes les éléments en lignes et colonnes selon ton besoin.

    L'avantage des TCD c'est qui si tu ajoutes des lignes ou des colonnes, ils s'adaptent tout seul.
    De plus comme tu es dans Excel, tu peux utiliser toutes la puissance de la mise en page de Excel (zoom, saut de page entre les colonnes) au lieu d'être prise avec la mise en page ULTRA rigide de Access.

    A+
    Vous voulez une réponse rapide et efficace à vos questions téchniques ?
    Ne les posez pas en message privé mais dans le forum, vous bénéficiez ainsi de la compétence et de la disponibilité de tous les contributeurs.
    Et aussi regardez dans la FAQ Access et les Tutoriaux Access. C'est plein de bonnes choses.

  13. #13
    Membre régulier
    Femme Profil pro
    Agente de bureau
    Inscrit en
    Août 2016
    Messages
    97
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 60
    Localisation : Canada

    Informations professionnelles :
    Activité : Agente de bureau
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Août 2016
    Messages : 97
    Points : 77
    Points
    77
    Par défaut Suite
    Je crois que je vais abandonné le tout car je ne suis pas programmeur, j'ai juste une petite formation. Merci quand même de ton aide.

  14. #14
    Modérateur

    Homme Profil pro
    Inscrit en
    Octobre 2005
    Messages
    15 331
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations forums :
    Inscription : Octobre 2005
    Messages : 15 331
    Points : 23 786
    Points
    23 786
    Par défaut
    Bonjour.

    Une solution "pur" Excel, serait peut-être plus facile à mettre en œuvre car plus proche de l'esprit humain.

    A+
    Vous voulez une réponse rapide et efficace à vos questions téchniques ?
    Ne les posez pas en message privé mais dans le forum, vous bénéficiez ainsi de la compétence et de la disponibilité de tous les contributeurs.
    Et aussi regardez dans la FAQ Access et les Tutoriaux Access. C'est plein de bonnes choses.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [AC-2003] concaténation suite à une analyse croisée
    Par novice06 dans le forum Requêtes et SQL.
    Réponses: 5
    Dernier message: 15/04/2009, 11h06
  2. Code inverser une analyse croisée issu de la FAQ
    Par xycoco dans le forum VBA Access
    Réponses: 3
    Dernier message: 09/10/2008, 09h08
  3. Delta entre deux années pour une Analyse croisée.
    Par xodblux dans le forum Requêtes et SQL.
    Réponses: 6
    Dernier message: 29/08/2008, 19h45
  4. création d'1 table à partir du resultat d'une analyse croisée
    Par lauri dans le forum Requêtes et SQL.
    Réponses: 1
    Dernier message: 27/10/2007, 14h45
  5. Comment faire une analyse croisée sous MySQL ?
    Par jcachico dans le forum Requêtes
    Réponses: 1
    Dernier message: 05/12/2005, 18h32

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