VBA query

Bonsoir

Je suis certain qu'une fois la feuille protégé on ne peut modifier la requête.

Si tu mets un mdp sur le projet VBA elle ne pourra toucher ton code.

Pour l actualisation je t ai peut etre dis une erreur, elle peut peut etre actualisé meme en etant en statut verouillé.

Il faudrait que tu testes.

Cdt,

Merci pour votre retour,

Je testerai mardi et je mettrais un fichier test pour qu'on puisse m'aider directement en retour , ne sachant pas trop manipuler le vba,

Bonne soirée,

Cordialement

Bonjour,

Joins un fichier avec ton code existant.

Cdlt.

bonjour à tous

heu... ai-je compris que le "problème" est de bloquer la modification du code M (code de Power Query) ?

à quoi ça sert ?

A/

si un utilisateur est normal, il n'ira jamais bricoler le code !

B/

s'il est mal intentionné et veut détruire le fichier, il le fait. Et toi tu repars d'une sauvegarde.

C/

s'il est mal intentionné et veut voir les données que tu caches grâce au code, il va simplement ouvrir une nouvelle requête dans un nouveau fichier. Tu ne peux pas l'en empêcher.

non ?

Bonsoir jmd,

oui tu as bien comprit je veux empêcher que l'on est accès au volet des requêtes .

A quoi ça sert : essayer au mieux de protéger le travail réalisé ... mais effectivement je suppose que si quelqu'un veut faire sauter ce verrou, il le fera mais au moins j'aurais tenter de l'en empêcher ...

Et s'il y arrive, et que le fichier ne donne plus les résultats souhaités par ses modifications ( volontaires pour le coup ) c'est qu'on a forcé volontairement le code ...

Dans le monde du travail, enfin deja dans l'environnement ou j'evolue, je n'ai aucune confiance ... et même dans le cas contraire la confiance n'exclut pas la prudence ...

Merci à ceux qui maideront dans ma démarche même si pour jmd ca ne sert à rien !

Cordialement

Bonsoir jean Éric,

Merci pour votre aide, je mettrais un fichier mardi, ne pouvant pas avant ...

Cordialement,

Bonjour à tous,

Vous trouverez ci-joint le fichier test, j'ai donc un bouton macro actualisé qui fait juste actualisé le premier TCD, est il possible d'incorporer dans ce code le fait de déprotéger actualiser et re-protéger sans que l'utilisateur entre le mot de passe, et donc il n'en aurait pas connaissance ...

Il y a le code suivant sur Thisworkbook

Private Sub Workbook_Open()
ActiveWorkbook.Protect _
            Password:="123", _
            Structure:=True, _
            Windows:=False
End Sub

Et le souci que j'ai avec ce code c'est qu'il protège bien l'accès aux requêtes mais je ne peux actualisé les TCD, ni développé la somme des montants (double clic sur la somme des montants et logiquement une feuille apparaît avec le détail),

Merci d'avance pour votre aide,

Cordialement,

11vba-query.xlsm (244.66 Ko)

Bonjour,

A tester !...

39vba-query.xlsm (251.26 Ko)

Bonjour Jean-Éric,

Merci pour votre retour, cela fonctionne parfaitement

J'ai cependant supprimé cette ligne la sur le code de l'onglet A

   Me.PivotTables(1).RefreshTable 

car il me rafraichissait la requête et le Tcd, mais je voulais uniquement que ce rafraichissement se fasse lors de l'utilisation du bouton actualisé sur l'onglet critères,

Pourriez vous m'expliquer votre démarche des codes mis en place,

Merci d'avance,

Cordialement,

Bonjour à tous,

Je rejoins un fichier pour lequel je souhaiterai que le mot de passe correspond au nom défini c’est à dire PWD (onglet présentation en B10),

J’aimerai également que la protection du fichier se fasse sur le code associé au bouton actualiser, et que lorsque nous allons sur les autres onglets, il n’y a pas d’actualisation des requêtes et des TCD (ceux-ci le seront lors de l’activation du bouton actualiser) ,

En ce qui concerne la protection des requêtes, le code fournit par Jean Éric est parfait, juste que je ne le comprends pas lol,

Merci pour votre aide,

Cordialement,

8vba-query-2.xlsm (283.49 Ko)
3vba-query-2.xlsm (283.49 Ko)

Bonjour,

Il semble que tu navigues à vue et cela n'est pas une bonne chose.

Dans ton exemple, il serait intéressant de savoir pour quelle raison tu utilises Power Query, Power Pivot, que tu multiplies les caches (de TCD).

Je ne parle pas de la protection des feuilles et du classeur.

Apparemment, tu ne maîtrises pas les utilisations (basiques) des TCDs, pas plus Power Query et Power Pivot, et encore moins VBA.

Ton classeur va être source de problèmes !...

Bon, ton fichier en retour, de ce j'ai compris.

Bonne continuation.

Cdlt.

12vba-query-2.xlsm (284.51 Ko)

Bonjour Jean Éric,

Non je t’assure je maitrise les TCD, Power Query et power pivot un peu moins mais ça va.

Par contre tu as raison, je ne maitrise pas du tout VBA,

Si tu le souhaite, je peux t’envoyer sur ta boite privé mon fichier complet mais tu ne pourras pas effectuer de rafraichissement de la requête ?

En résumé, je vais chercher une base Excel via la requête query, après plusieurs sélections faites par l’utilisateur sur Excel via des segments, la base est donc réduite aux sélections faites,

Cette base réduit est chargé au modèle de données et réalise plusieurs TCD et GCD différents sur plusieurs onglets.

En ce qui concerne le fichier exemple envoyé, tu n’as pas compris ou j’ai mal expliqué, c’est au choix donc je reprends :

Sur l’onglet présentation tu as un nom défini « PWD », qui est dans la cellule B10, ici c’est ETABLISSEMENT LE BOURGET mais celui-ci sera variable.

Et donc en le définissant, il est peut-être possible qu’avec VBA on définisse cette notion de variabilité en faisant appel au nom définit « PWD »,

J’aimerai que l’accès aux requêtes soit bloqué sur le classeur, et que seul le bouton actualisé de l’onglet « CRITERES » peut temporairement retirer la protection du classeur et actualisé le TCD de l’onglet A,

Ce bouton actualisé ne peut être activé uniquement si les cellules H9, H13, H16 de l’onglet « CRITERES » sont vides ?

J’espère avoir été plus précis et qu’on s’est compris,

Merci pour tout,

Cordialement,

6vba-query-2.xlsm (283.49 Ko)

Bonjour,

Après des mises à jour de Windows 10 et quelques soucis de messagerie…

A tester.

Cdlt.

10vba-query-3.xlsm (293.19 Ko)

Bonjour Jean Eric,

Merci pour ton retour, j'aurai plusieurs remarques, j'espère que ce sera possible :

Je pense que tu appliques à toutes les feuilles les couleurs des graphiques selon le motif d'extraction,

Cependant sur mon fichier de travail j'aurai des onglets ou il y aura des graphiques qui ne devront pas tenir compte de la table couleurs, c'est pour cela que le code était appliqué sur la feuille lorsque c'était nécessaire et non par le module ou il y a la macro,(ou alors il faudrait définir les feuilles concernées par cette manip : dans mon fichier de travail cela ne concernera que deux feuilles),

Peut on également fusionner le bouton actualiser et le bouton de mot de passe ?, (celui qu'il faut conserver visuellement c'est Actualiser sur l'onglet CRITERES) sans qu'il y ait le message "Souhaitez vous modifie le mot de passe"?,

Merci et encore désolé de te demander encore de rectifier le code VBA,

Cordialement,

Re,

Peux tu préciser le nom des feuilles des graphiques à exclure (exemple) ?

Et aussi, le nom des feuilles qui n'ont pas besoin d'être protégées !?

Je vois pour scinder les 2 procédures.

Teste bien l'histoire de changement de mot de passe dans le fichier précédent.

Cdlt.

Re Jean Eric,

Le nom des feuilles a exclure sont celles de l'onglet A, D et E, et donc les feuilles ou cela doit être appliqué sont l'onglet B et C (feuil 4 & 6)

Toutes les feuilles qui contiennent les tcd et graph (onglet À,B,C,D et E) doivent être protégées , mais l'accès aux requêtes devra être verrouillé sur tous les onglets par le mot de passe variable défini en B10 onglet présentation.

, et oui j'ai vu pour le changement de mot de passe, je le saisis en B10 de l'onglet Présentation et je clique sur le bouton Mot de passe.

Mais en fait B10 sera remplacé par une formule qui indiquera l'établissement, et je ne souhaite pas que l'utilisateur doit dire ok pour valider le mot de passe, je souhaiterais que quand il actualise sur l'onglet critères, le mot de passe devient le nom inscrit dans la cellule B10 de l'onglet présentation,

Merci d'avance,

Cordialement,

Re,

Serait il possible que je conserve les codes relatifs à la partie couleurs du graphique sur les feuilles concernées ( onglet b et c) et non dans un module ? Ou alors définir ds le code du module le fait que ca s'appliquera qu'à ces deux feuilles ?,

Merci d'avance

Bonjour,

Un nouveau fichier à tester.

Cdlt.

13vba-query-4.xlsm (286.48 Ko)

Bonjour Jean Eric,

Après avoir testé le fichier le souci c'est que les TCD ne s'actualise pas et l’accès au détail de ceux ci non plus (double clic sur un chiffre) ,

J'aimerai ajouté une condition c'est celle de toujours pouvoir ajouter une feuille pour l’utilisateur, sans protection,

Merci pour votre aide,

Cordialement,

Bonjour,

Ton fichier en retour.

Il me semblait qu'à l'origine, il n'y avait qu"un cache de pivot table.

Tu en as désormais 5 pour une même source.

Cdlt.

29vba-query-5.xlsm (287.13 Ko)
Rechercher des sujets similaires à "vba query"