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 :

Ouvrir formulaire (mode tableau croisé dynamique) avec certains champs cachés


Sujet :

VBA Access

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Femme Profil pro
    Étudiant
    Inscrit en
    Mai 2014
    Messages
    51
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2014
    Messages : 51
    Par défaut Ouvrir formulaire (mode tableau croisé dynamique) avec certains champs cachés
    Bonjour,

    Dans ma base de données Access, j'ai créé des formulaires via des requêtes.

    J'aimerais que lorsque j'ouvre un formulaire grâce à un bouton sur un autre formulaire, il ne m'affiche pas certains champs.

    Pour être plus clair, il s'agit de résultats pour différentes équipes. Lorsque le chef d'équipe ouvre le formulaire, les noms et prénoms des gens de son équipe s'affichent.
    Mais j'aimerais que lorsqu'un chef d'équipe veuille, non plus voir les résultats de sa propre équipe mais comparer les résultats de son équipe à ceux des autres équipes, les noms et prénoms ne s'affichent plus. Qu'il y ait seulement les noms des équipes et le résultat pour chaque équipe.

    Je ne veux pas créer une nouvelle requête et un nouveau formulaire, j'aimerais utiliser le même en cachant certains champs.
    Je ne veux surtout pas que les chefs d'équipe puissent voir les résultats des gens des autres équipes, je veux qu'ils aient seulement accès au résultat global. Le formulaire sera en lecture seule afin qu'ils ne puissent pas eux même modifier la requête pour afficher les noms et prénoms.

    Pour l'instant, voici le code que j'ai pour ouvrir le formulaire en mode tableau croisé dynamique. Que puis-je ajouter?:

    Private Sub Commande21_Click()
    DoCmd.OpenForm "FormName", acFormPivotTable, , , acFormReadOnly
    End Sub


    Je ne suis pas sûre d'être très claire.

    Si quelqu'un pense pouvoir m'aider, j'attends une réponse de votre part et suis prête à donner plus d'information.

    Merci d'avance!

  2. #2
    Membre averti
    Homme Profil pro
    Directeur Hôtelier
    Inscrit en
    Janvier 2011
    Messages
    48
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Directeur Hôtelier
    Secteur : Tourisme - Loisirs

    Informations forums :
    Inscription : Janvier 2011
    Messages : 48
    Par défaut
    Bonjour à vous alineleleu,

    Je ne suis pas encore une spécialiste de Access mais j'ai quelques légères notions de VBA. D'après ce que j'ai compris, Si j'ai bien compris...

    sur votre formulaire acFormPivotTable affichez tous les champs.

    dans la propriété des champs :
    Nom, prénom, scores perso... : visible = oui (ce qui sera visible par défaut pour les chefs d'équipes)
    Scores_équipe, Scores_autres_équipe... : visible = non (ce qui sera invisible par défaut pour les chefs d'équipes)

    Créez un bouton "comparer" puis en VBA :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    Private Sub comparer_Click()
     Me.NomDuChamp.Visible = True 'Pour les champs que vous souhaitez faire apparaître
     Me.NomDuChamp.Visible = False 'Pour les champs que vous souhaitez faire disparaître
    end sub
    Le tout part du principe que tout les calculs existe déjà et son présent dans votre formulaire.

    Cordialement, Nicolas

  3. #3
    Membre averti
    Femme Profil pro
    Étudiant
    Inscrit en
    Mai 2014
    Messages
    51
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2014
    Messages : 51
    Par défaut
    Merci beaucoup,

    Malheureusement j'ai essayé et cela ne fonctionne pas.

    Je n'ai pas créé de bouton Comparer puisque j'aimerais que cela s'exécute lorsque le manager clique sur le bouton Commande 21 qui ouvre le formulaire.

    Voici ce que j'ai :

    Private Sub Commande21_Click()
    DoCmd.OpenForm "Insatisfaction_client_1016", acFormPivotTable, , , acFormReadOnly
    End Sub
    Private Sub Commande21_Click()
    Me.Plateau , Prénom_responsable, Nom_responsable, Equipe, Canal, Mise à jour, Objectif_insatisfaction, Réalisé_insatisfaction.Visible = True 'Pour les champs que vous souhaitez faire apparaître
    Me.Prénom_conseiller , Nom_conseiller.Visible = False 'Pour les champs que vous souhaitez faire disparaître
    End Sub

    Pouvez-vous me dire ce que j'ai mal écrit?

    Merci d'avance,

  4. #4
    Membre averti
    Homme Profil pro
    Directeur Hôtelier
    Inscrit en
    Janvier 2011
    Messages
    48
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Directeur Hôtelier
    Secteur : Tourisme - Loisirs

    Informations forums :
    Inscription : Janvier 2011
    Messages : 48
    Par défaut
    Bonjour alineleleu,

    En fait il n'y a pas grand chose de correct ...

    1ere chose le bouton d'ouverture du formulaire ne devrait qu'ouvrir le formulaire :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Private Sub Commande21_Click()
    DoCmd.OpenForm "Insatisfaction_client_1016", acFormPivotTable, , , acFormReadOnly
    End Sub
    2ème chose : Cette partie doit se trouver dans le Formulaire "Insatisfaction_Client_1016" et vous devriez l'écrire comme ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    Private Sub Comparer_Click()
    Me.Plateau.Visible = True
    Me.Prénom_responsable.Visible = True
    Me.Nom_responsable.Visible = True
    Me.Equipe.Visible = True
    Me.Canal.Visible = True
    Me.Mise à jour.Visible = True
    Me.Objectif_insatisfaction.Visible = True
    Me.Réalisé_insatisfaction.Visible = True
    Me.Prénom_conseiller = False
    Me.Nom_conseiller.Visible = False
    End Sub
    Il serait tout de même plus facile de vous aider en ayant la pièce-jointe.

    Cordialement, Nicolas

  5. #5
    Membre averti
    Femme Profil pro
    Étudiant
    Inscrit en
    Mai 2014
    Messages
    51
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2014
    Messages : 51
    Par défaut
    Merci beaucoup.

    Malheureusement je ne peux vous envoyer la base de données qui contient des informations confidentielles.

    Si je comprends bien, je dois créer un bouton Comparer dans mon formulaire Insatisfaction_client. Cependant, en mode "tableau croisé dynamique", les boutons ne s'affichent pas. N'y a-t-il pas une autre solution?

    Encore merci!

  6. #6
    Membre averti
    Homme Profil pro
    Directeur Hôtelier
    Inscrit en
    Janvier 2011
    Messages
    48
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Directeur Hôtelier
    Secteur : Tourisme - Loisirs

    Informations forums :
    Inscription : Janvier 2011
    Messages : 48
    Par défaut
    Bonjour,

    Oh je n'avais pas fait attention que votre formulaire était en tableau croisé dynamique...
    Je suis désolé mais sans refaire de formulaire je sèche un peu...

    Une méthode selon moi reviendrait à faire un formulaire à onglet et d'y inséré votre TCD sur chaque onglet. Ainsi un onglet pour les scores de l'équipe, l'autre pour les comparaisons d'équipes.
    vous maquez les champs non voulus dans l'un et l'autre des TCD (format visible = oui/non) pour que chaque onglet ai sa propre vue du même TCD.

    Je suis désolé de ne pouvoir vous aider plus. mais sans voir vos tableaux et formulaire j'ai du mal à me mettre en situation.

    Cordialement.

  7. #7
    Expert confirmé
    Avatar de Mat.M
    Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2006
    Messages
    8 543
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Novembre 2006
    Messages : 8 543
    Par défaut
    Citation Envoyé par alineleleu Voir le message
    Je ne veux surtout pas que les chefs d'équipe puissent voir les résultats des gens des autres équipes, je veux qu'ils aient seulement accès au résultat global. Le formulaire sera en lecture seule afin qu'ils ne puissent pas eux même modifier la requête pour afficher les noms et prénoms.


    Merci d'avance!
    utiliser For...Each
    regarder
    ceci

  8. #8
    Membre averti
    Femme Profil pro
    Étudiant
    Inscrit en
    Mai 2014
    Messages
    51
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2014
    Messages : 51
    Par défaut
    Merci beaucoup.

    Pourrais-tu m'éclairer sur la méthode à suivre?

    Pour l'instant j'ai un contrôle zone de liste déroulante qui ouvre mon formulaire en mode tableau croisé dynamique avec les équipes et les noms des personnes dans les équipes. Je voudrais qu'il ne m'ouvre le tableau croisé dynamique en n'affichant que le nom des équipes sans les personnes.

    Voici le code que j'ai:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    Option Compare Database
    Option Explicit
     
    Private Sub Modifiable19_AfterUpdate()
    DoCmd.OpenForm Me.Modifiable19, acFormPivotTable
    End Sub
    Merci d'avance!

  9. #9
    Membre averti
    Femme Profil pro
    Étudiant
    Inscrit en
    Mai 2014
    Messages
    51
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2014
    Messages : 51
    Par défaut
    Non Smoky184 je n'ai pas encore trouvé la solution

  10. #10
    Membre averti
    Homme Profil pro
    Directeur Hôtelier
    Inscrit en
    Janvier 2011
    Messages
    48
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Directeur Hôtelier
    Secteur : Tourisme - Loisirs

    Informations forums :
    Inscription : Janvier 2011
    Messages : 48
    Par défaut
    Citation Envoyé par AlineLeLeu
    Non Smoky184 je n'ai pas encore trouvé la solution
    Pourriez-vous nous envoyer votre programme avec des données indicatives non privées afin que nous puissions jeter un œil sur quelque chose de concret SVP ? Ce serait plus simple pour trouver une solution.

    Je reste néanmoins dispo en attendant que vous aillez retiré les informations sensibles.

    Bien à vous, Nicolas

  11. #11
    Membre averti
    Femme Profil pro
    Étudiant
    Inscrit en
    Mai 2014
    Messages
    51
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2014
    Messages : 51
    Par défaut
    Bonjour,

    Je vais retirer les données privées et vous envoyer ma base de données dans la journée.

    Merci beaucoup

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

Discussions similaires

  1. Réponses: 6
    Dernier message: 18/10/2012, 11h30
  2. tableau croisé dynamique avec plage de sélection variable
    Par nat44 dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 10/07/2008, 14h29
  3. Tableau croisé dynamique avec critère
    Par gege87270 dans le forum Macros et VBA Excel
    Réponses: 35
    Dernier message: 12/06/2008, 15h22
  4. Réponses: 5
    Dernier message: 21/02/2007, 19h39
  5. [Formulaire]:Verrouillage Tableau croisé dynamique
    Par nicou50 dans le forum Access
    Réponses: 3
    Dernier message: 09/09/2006, 17h57

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