Interaction entre .xlsm local et .xlsx sur Sharepoint

Bonjour à tous,


je viens vers vous, car j'étudie la faisabilité d'une interaction entre un fichier comportant des macros en local et un fichier base de données sans macro sur sharepoint.
Le but est de remonter dans une base de donnée unique les informations de plusieurs sites de production. Pour cela, le fichier doit être partagé (potentiellement transmission d'informations en simultanées. Je souhaiterais que des formulaires de saisie comportant des macros puisse interagir avec cette base de données (cf graph ci-dessous) récupération d'information sous forme de variant (plus rapide) et écriture d'information.

Je ne sais pas si je suis à côté de la plaque, n'hésitez pas à me le dire si c'est le cas (En toute bienveillance bien entendue :) ). J'ai déjà lu pas mal de sujet sur le forum parlant de cela, mais rien qui répond vraiment à ma problématique (les réponses de THEV étaient les plus pertinentes.). N'hésitez pas si vous avez de sujets pertinents à me partager.

Merci beaucoup du temps que vous pourrez m'accorder. architecture

Bonjour,

Ce principe est tout à fait correct. Je l'ai mis en œuvre dans des applications développées pour des associations.

Les classeurs .xlsm sont partageables sans problème car ils ne contiennent que du code. Le classeur .xlsx est en accès exclusif et est piloté par par le classeur .xlsm :

1- il est d'abord ouvert en lecture seule par le classeur .xlsm

2- il est ensuite ouvert en accès exclusif (avec délai d'attente si non disponible) pour mise à jour dès que les saisies nécessaires ont été effectuées par l'utilisateur

3- il est ré-ouvert en lecture seule après mise à jour

Le plus simple pour réaliser cela est :

1- d'effectuer une liaison entre le classeur .xlsm et le classeur .xlsx

2- de définir un module de classe d'accès à la BDD : lecture, mise à jour, fermeture avec et sans maj, assignations tableaux structurés de la BDD.

Après, il faut s'intéresser au temps d'accès du fichier .xlsx sur SharePoint à partir d'un classeur local. car il ne faudrait pas que ce temps soit rédhibitoire. Pour le moment, les solutions que j'ai mises en place, le sont à partir d'un d'un fichier .xlsx sur un serveur local.

sPath = "grouperenault.sharepoint..." 
sFic = "cout piece.xlsx"
Set WbkAp = Workbooks.Open(sPath & sFic)

Exceptionnel ce sont justement tes réponses que j'avais vues. Je vais me plonger là-dedans et je reviendrai sur le sujet dès que j'aurai quelque chose de concret. :) Au moins, je sais que ça n'est pas n'importe quoi.

Dans l'une de tes réponses, j'ai vu ce code (ci-dessus). C'est ce genre de code qui permet de faire la liaison si je ne me trompe pas. Si j'ai bien compris cela me permet d'ouvrir le fichier et d'écrire dedans ou récupérer des informations (en activant le classeur avec le nom).

En ce qui concerne le temps sur le fichier, comme je l'ai dit dans mon premier message ça serait des formulaires donc le temps sera court (inscription d'information ou récupération d'information).

Merci encore. Vraiment content que ça soit toi qui réponde.

Bonjour,

C'est ce genre de code qui permet de faire la liaison si je ne me trompe pas

Ce code n'est pas de moi et de toute façon me parait faux. Car a priori, le chemin pour accéder à un SharePoint serait plutôt de la forme :

sPath = "\\domain.sharepoint.com@SSL\DavWWWRoot\....."

En ce qui concerne le temps sur le fichier

Il s'agit du temps d'ouverture du fichier situé sur le SharePoint, c'est à dire le temps d'exécution de cette instruction :

Set WbkAp = Workbooks.Open(sPath & sFic)

Okay très bien merci beaucoup dans tous les cas.

Je n'ai pas mis le lien exact car étant jeune membre je ne peux pas publier des message avec des liens.

Rechercher des sujets similaires à "interaction entre xlsm local xlsx sharepoint"