Accès à une liste via un classeur Excel partagé

Étiquetté : ,

  • Accès à une liste via un classeur Excel partagé

    Posté par ypicot sur 17 mai 2023 à 16h03

    Bonjour

    Dans un classeur Excel, j’interroge une liste SharePoint via Power Query. Ce classeur est partagé sur un OneDrive commun, et plusieurs utilisateurs peuvent y accéder en restant identifié par leur compte.

    Le problème est que la connexion SP se fait également via leur compte, et que cela met le bazar.

    Exemple : je configure dans PQY la connexion SP pour Alex. Cela marche impécable. Mais dès que Béa veut raffraichir les données, PQY / SP la jette avec le message suivant. Ce qui est “drôle”, c’est que si Béa cherche à modifier les infos de connexion (souvent sans succès, pour une raison que j’ignore), c’est Alex qui ne peut plus se connecter.

    Les solutions non envisageables :

    • créer un compte qui pourrait être utilisé par plusieurs utilisateurs (nécessiterait une licence supplémentaire, horreur-malheur)

    • que les utilisateurs se partagent leur mot de passe (respect d’un minimum de sécurité) (oui, je sais que dans certaines structures ce genre de pratique ne pose aucun problème 😒 )

    Vu que je suis une bille de première dès qu’il s’agit d’administration, toute suggestion (même triviale) est la bienvenue.

    PostID=k1j3a8bGWkJSjPk

    ypicot a répondu Il y a 7 mois, 4 semaines 1 Membre · 2 Réponses
  • 2 Réponses
  • R3dKap

    Membre
    22 mai 2023 à 21h45

    Salut ypicot,

    Pour commencer, petite remarque sur “…un OneDrive commun…” : quand je lis ça, ça me pose souci. Nombreux sont ceux qui utilisent OneDrive comme espace de partage de fichiers entre plusieurs personnes d’une même équipe. Mais il faut garder à l’esprit que OneDrive est à la base un outil PERSONNEL (bien qu’il existe évidemment une fonction de partage). Le partage c’est juste pour “montrer” à une autre personne le contenu d’un document plutôt que de l’envoyer par mail. Mais OneDrive n’est pas fait pour partager un fichier entre 10 users pour bosser sur des données “de prod”.

    Pour ça il y a SharePoint : c’est à ça justement que sert SharePoint. On y met des fichiers qui sont utilisés (éventuellement simultanément) entre de nombreux utilisateurs pour y faire du partage de données. Donc, je dirais pour commencer que dans ton cas ton fichier devrait être placé dans une bibliothèque SharePoint où chaque personne a les bons droits pour accéder au fichier.

    Ensuite, pour répondre à ta problématique…

    Je suis pas un grand spécialiste de l’authent’ en général, mais à mon avis le souci vient du fait que les infos de connexions sont enregistrées avec la requête Power Query dans le fichier Excel et donc ce sont ces infos que le système tente d’utiliser pour se connecter au SharePoint alors le user connecté n’est pas le même.

    J’ai pas fait des tonnes de Power Query depuis Excel vers SharePoint mais je suppose que c’est toi qui a manuellement attaqué la liste SharePoint depuis ton fichier Excel et qui a donc renseigné ces infos de connexions à ce moment-là.

    Du coup, je pense à une autre piste : depuis la liste SharePoint, tu utilises la fonction d’export vers Excel. Il te génère un fichier query.iqy que tu peux ouvrir dans Excel et le système va chercher le contenu de la liste SharePoint via une connexion ODATA qui doit être différente de celle de ton Power Query. Une fois ton fichier d’export ouvert dans Excel, tu as une liaison directe vers ta liste SharePoint : à chaque fois que tu ouvriras ce fichier Excel, il requêtera ta liste et tes données seront à jour. Charge à toi ensuite d’ajouter dans ce fichier le reste de ton fichier Excel qui est sur ton OneDrive. Et je pense (mais ça reste à vérifier) qu’avec ce système, du moment que l’utilisateur connecté a bien accès à la liste SharePoint, le fichier se mettra bien à jour avec les données de la liste SharePoint. Et profites-en pour mettre ton fichier final directement quelque part dans SharePoint aussi, idéalement sur le même site que ta liste.

    Je sais pas si tu vois ce que je veux dire ? Pas facile à expliquer…

    CommentID=3HqLxyIMtapMOsu, PostID=k1j3a8bGWkJSjPk

  • ypicot

    Membre
    24 mai 2023 à 8h17

    Bonjour

    Concernant OneDrive, je suis totalement d’accord avec toi. Mais j’ai déjà quelque peu bousculé le client avec une solution PowerApps / SharePoint / Excel VBA (au lieu d’un tout VBA comme souhaité au départ), et j’ai préféré ne pas trop le sortir de la zone de confort (les utilisateurs utilisent peu voire pas du tout SP). Et comme de toutes manières il fallait du VBA, la version OnLine d’Excel n’était pas envisageable. De plus je craignais un rejet de l’appli avec les manips type “je télécharge le fichier et je bataille avec les différentes versions”. Là au moins ils sont dans un environnement connu.

    Accessoirement, il a fallu 3 mois pour que la DSI accepte de les passer en Excel 2016 (ils étaient en 2010 et 2013).

    Pour revenir à ta suggestion d’utiliser un fichier .iqy, c’est je pense une excellente idée. Je vais tester cela sous plusieurs forme, avec notamment chaque utilisateur qui aurait son propre fichier .iqy.

    Je vais expérimenter et te fait un retour.

    En tous cas, grand merci pour cette piste.

    CommentID=kMYyi3mJyPvT0kO, PostID=k1j3a8bGWkJSjPk

Connectez-vous pour répondre.