Solution Excel multi-utilisateurs

Bonjour à tous,

Cela fait quelques années que l'idée de développer une solution multi-utilisateurs pour Excel me trotte dans la tête mais sans vraiment savoir comment réaliser une telle chose ... Et puis récemment, j'ai imaginé une solution qui me semble réalisable et qui en plus pourrait être utilisée par des personnes de tous niveaux ...

Pour mieux comprendre, voici quelques exemples de ce qui pourrait être rendu possible (en théorie) :

1. Anne utilise un classeur pour la facturation et Pierre, son collègue, un second classeur pour la gestion de la communication et du service après vente. Tous deux ont une liste de clients dans leur classeur. Pour des raisons pratiques évidentes, ils souhaitent n'avoir plus qu'une seule base de données clients qui soit toujours à jour mais sans pour autant donner l'accès à leur classeur à leur collègue.

5. Dédé est un développeur VBA qui souhaite créer une application de gestion utilisant des UserForms avec une base de données sur une feuille cachée. Il souhaite que les utilisateurs de son application puissent travailler simultanément sur la même base de données (y compris l'utilisateur Mike qui habite à 6000 km de Dédé).

Je vais m'arrêter là pour les exemples, le projet n'en est pas encore à ce niveau-là

Comme il s'agit quand même d'un projet très particulier, vos avis m'intéressent beaucoup et cela, quelque soit votre niveau avec Excel ou votre point de vue sur le sujet ...

Merci

EDIT : ce projet n'est malheureusement plus d'actualité


Mise à jour 1 :

Petite précision à propos du fonctionnement de cette solution :

Ici, ce ne sont pas les classeurs qui sont partagés mais uniquement certaines données des classeurs (une ou plusieurs feuilles). Ces données seront stockées sur un serveur à distance (dans une vrai base de données).

Le rôle des macros (qui pourront ensuite être simplement copiées/collées dans les classeurs pour exploiter ces données) est d'envoyer les données sur le serveur et de récupérer à intervalle régulier les modifications effectuées par les autres utilisateurs.


Mise à jour 2 :

Même s'il me reste encore beaucoup de travail, la version actuelle permet déjà de faire les premières mises à jour automatiques ...

Je vous ai donc préparé un petit aperçu de la version actuelle pour vous donner une idée plus précise du projet :


Mise à jour 3 :

Voici les dernières nouveautés développées :

  • Création d'un menu sans UserForm pour qu'il puisse être copié/collé facilement (même principe que pour ma macro pour les doublons)
  • Possibilité de partager les données de plusieurs feuilles d'un même classeur indépendamment (chacune avec son propre mot de passe)
  • Possibilité d'activer ou de désactiver les mises à jour automatiques des feuilles en cas de besoin
  • Possibilité de récupérer les données manquantes à l'ouverture du classeur, après une désactivation des mises à jour ou après avoir quitté Excel sans enregistrer
  • Possibilité de modifier jusqu'à 1'000 cellules à la fois
  • Optimisation de l'envoi de données (envoi "multi-cellules" bien plus rapide que sur la première vidéo)
  • Et toute une série de "sécurités" côté serveur

Mise à jour 4 :

Coût de la solution :

C'est avant tout un projet que je développe dans le cadre de mon activité professionnelle, et il faut savoir que pour ce type de projet, je ne vais pas simplement chercher à créer une solution pour partager une feuille entre 2 utilisateurs, bien au contraire, je vais chercher à créer une solution multifonctionnelle très aboutie capable de gérer un maximum de situations et d'exceptions (tout en restant très simple à utiliser).

Etant donné l'ampleur du projet (développements VBA + développement fichiers serveur + site) et les importantes ressources serveur requises en permanence pour faire tourner les mises à jour, cette solution aura donc bien entendu un coût.

Mais la bonne nouvelle pour les "petits utilisateurs" est que je prévois malgré tout de proposer aussi une version gratuite. La version gratuite sera bien entendu limitée, notamment en nombre d'enregistrements (avec une limite estimée à 1'000 cellules sauvegardées au maximum) mais il me semble que ce serait déjà pas trop mal pour un "petit utilisateur".


Mise à jour 5 :

Voici les dernières nouveautés développées :

  • Possibilité de copier les données existantes d'une feuille lorsque vous ajoutez une nouvelle feuille
  • Possibilité de travailler hors connexion (et envoyer les modifications automatiquement à la prochaine connexion)
  • Possibilité de réactualiser entièrement les données d'une feuille
  • Possibilité de supprimer les cellules vides de la base de données pour libérer de l'espace de stockage

Si certains points ne sont pas clairs, n'hésitez pas à demander quelques éclaircissements ...


Mise à jour 6 :

La première version Beta pourrait être déjà disponible d'ici quelques jours ...

Les limitations de cette version Beta seront assez similaires à la future version gratuite, de cette façon, vous pourrez continuer à utiliser la solution gratuitement sans perdre de données une fois la période de test terminée.

Si vous avez envie de tester cette solution (et me signaler au passage tout éventuel bug que vous pourriez rencontrer), je vous invite à me le faire savoir à la suite de ce post (c'est ouvert à tout le monde) ...


Mise à jour 7 :

Comment installer cette solution de partage dans un nouveau classeur Excel : [non disponible]


Mise à jour 8 :

La version beta est disponible : https://forum.excel-pratique.com/xlsync/xlsync-beta-disponible-t64230.html

Cette page est pour le moment accessible uniquement à ceux qui en ont fait la demande (si vous avez envie de tester cette beta, il vous suffit de le demander à la suite de ce post, je vous y ajouterai volontiers).


Mise à jour 9 :

La version beta est maintenant ouverte à tous, il n'est plus nécessaire d'en faire la demande.

Pour tester cette solution de partage de données, il vous suffit de rejoindre le groupe "Beta" dans votre profil et de consulter ensuite le post suivant : https://forum.excel-pratique.com/xlsync/xlsync-beta-disponible-t64230.html


Mise à jour 10 :

Cette solution est enfin disponible pour tout le monde !

Pour faire un essai ou pour plus d'informations, rendez-vous sur le site XLSync.


Mise à jour 11 :

Voici une courte vidéo qui vous donne un exemple de mise à jour d'une feuille partagée avec XLSync :

Bonjour, Sébastien, le forum,

Je ne peux avoir que des louanges pour un tel programme,, que j'utiliserai certainement lorsqu'il sera au point.

Grâce à l'aide précieuse de mon ami Banzaai64, nous avons développé un sujet similaire, pour un groupe de six infirmières

Chaque infirmière à une couleur différente, cela nous permet de savoir qui fait quoi Et à quel patient.

Le programme en lui-même fonctionne bien , le problème réside dans la liaison , chaque infirmière apporte des annotations

journalières sur le classeur commun en utilisant parfois les mêmes patients, les mêmes soins etc....

c'est l'infirmier en chef qui s'occupe des liaisons avec son personnel.

Je ne peux que vous encourager à réaliser une telle procédure qui pourra certainement m’être d"une grande utilité.

Je vous souhaite beaucoup de réussite dans votre nouveau projet, et vous dis merci d'avance et bonne journée.

Amicalement

Pierrot

Projet intéressant ...

J'ai une solution qui consiste à n'afficher les onglets que pour les personnes autorisées, les autres onglets étant masqués par xlVeryHidden

Mais il reste une limitation qui veut qu'un seul utilisateur puisse modifier un même fichier ... si on ne peut pas lever cette limitation (que je conçois car lors de l'enregistrement les modifications des divers utilisateurs ne seraient pas fusionnées), alors il faudra passer par des fichiers séparés pour chaque groupe. Sinon quelle solution ? données sur serveur ?

Bonjour Sébastien,

Salut à tous,

Dans la mesure où manifestement tu vas probablement t'engager dans un vrai développement, il me semble que tu dois garder à l'esprit la nouvelle contrainte, qui devient de plus en plus importante : la mobilité ...

En effet, avec, par exemple, Office on-line ou Google Sheets... la collaboration prend déjà un nouveau tour ... et l'utilisation du Cloud va sans doute encore prendre de l'ampleur ...

Du coup, le fait de conserver 100% de compatibilité entre ton application Excel et le Cloud risque de devenir un point central et déterminant ...pour tous les futurs utilisateurs ...

Bonne Chance pour ton nouveau projet ...

Bonjour à tous

Attention, je ne donne qu'un avis personnel, que personne n'est obligé de suivre

Excel n'est pas conçu par Microsoft pour un travail collaboratif.

Il faut donc déployer des trésors d'astuces et de savoir-faire pour y parvenir.

Et programmer chaque nouvelle fonction (au fil des années, il faut de plus en plus de fonctions dans un progiciel) devient de plus en plus lourd. Les difficultés augmentent au fil du temps.

Inversement, ACCESS ou tout autre SGBD est conçu pour gérer les multiples utilisateurs.

L'ajout de la fonction 486 n'est pas plus compliqué que ne l'a été l'ajout de la fonction 485.

Par ailleurs, le projet de Sébastien est une gestion de données relationnelles. Tout SGBD est conçu pour ça et rien que pour ça. Excel non.

Voila pourquoi je décourage tous ceux qui veulent faire du SGBD avec Excel.

Excel retrouvera son intérêt dans l'analyse des données d'un SGBD quelconque (avec des TCD, courbes, PowerPivot, PowerQuery...)

Excel n'est pas adapté à la saisie multi-utilisateurs ou multi-tables, il est adapté à l'analyse.

Bien sûr, on sait qu'Excel est une bonne coquille pour accueillir des programmes sous VBA, et finalement on peut presque tout faire "avec Excel," on devrait dire plus justement "avec VBA ". Il y a plus de VBA que d'Excel au final.

Voili voilou

Bonjour à tous,

Tout à fait d'accord avec l'argumentation de jmd.

Un tel projet avec Excel revient à monter une usine à gaz et réinventer un "sous Access".

Excel est un outil incontournable pour l'analyse de données mais, en attendant une hypothétique évolution vers le cloud, le fonctionnement relationnel multi postes relève plus du bricolage.

Mais ça n'est jamais que mon avis perso.

Reste le côté ludique de la recherche de solutions avec notre vba chéri...

Et bon WE quand même !

Bonjour,

Merci à tous pour ces premiers avis

Voila une petite précision en passant à propos du fonctionnement de cette solution :

Ici, ce ne sont pas les classeurs qui sont partagés mais uniquement certaines données des classeurs (une ou plusieurs feuilles). Ces données seront stockées sur un serveur à distance (dans une vrai base de données).

Le rôle des macros (qui pourront ensuite être simplement copiées/collées dans les classeurs qui souhaitent exploiter ces données) est d'envoyer les données sur le serveur et de récupérer à intervalle régulier les modifications effectuées par les autres utilisateurs.

bonjour

le peu d'EXCEL et de VBA que je connais me fait penser que c'est réalisable, même a travers des serveurs.

je pense qu'il faut a la base faire plusieurs fichiers pour chaque utilisateurs et un base de données unique, et cette base de donnée regrouperas les différentes informations sur les différentes feuilles

je suivrais le pst journellement car c'est un projet qui m’intéresses énormément dans mon boulot et me serais très très utiles

cordialement

re à tous

Sébastien,

dans les conditions que tu soulignes, alors c'est faisable

1 utilisateur fait de la saisie dans son propre fichier xls

et un fichier d'exploitation (pas de saisie d'information dans ce type de fichier), ou plusierurs

Il n'y a donc pas de fichier partagé en écriture

voir alors Power BI de Microsoft pour agréger et/ou analyser les données

https://support.office.com/fr-be/article/Power-BI-pour-Office-365---Pr%C3%A9sentation-g%C3%A9n%C3%A9rale-et-formation-02730e00-5c8c-4fe4-9d77-46b955b71467?ui=fr-FR&rs=fr-BE&ad=BE

Pour prolonger ce que dit Sébastien, en effet, ce qui m'arrive de faire, c'est faire renseigner des fichiers excel séparément ... et avec un programme de compilation des fichiers qui ont tous le même format, je consolide la situation. MAIS ce cas me limite car chacun travaille de façon étanche et ne peut pas partager les données et mises à jour (cela dit, dans les 3 cas que je traite, je n'ai pas à le faire).

Steelson,

un utilisateur 2 peut toujours avoir un fichier ou une feuille connecté (par liaison) à un fichier ou une feuille détenue par un autre utilisateur 1. L'utilisateur 1 est en saisie sur les données et l'utilisateur 2 est en lecture.

1 peut lire la feuille de 2 mais pas y écrire

2 peut lire la feuille de 1 mais pas y écrire

Bonjour Sébastien,

Bien évidemment c'est intéressant de partager une base commune. J'ai hâte de voir le fonctionnement et de tester ce type de fichier.

Cette idée a dû traverser l'esprit de plus d'un utilisateur averti d'Excel.

Amicalement

JPierre

Bonjour à tous,

J'ai hâte de voir le fonctionnement

Même s'il me reste encore beaucoup de travail, la version actuelle permet déjà de faire les premières mises à jour automatiques ...

Je vous ai donc préparé un petit aperçu de la version actuelle pour vous donner une idée plus précise du projet :

[yt=700,393]Iw7Mt5X3Xbc[/yt]

bravo, je suis impressionné !

Beau travail!

La base commune est hébergée et là tu as ouverts deux fichiers pour la démo?

Tu vas le mettre en test? Si oui, je veux bien participer et te faire remonter les rapports d'utilisation.

J'ai en tête depuis pas mal de temps un exemple à traiter mais légèrement différemment.

La base serait commune mais les modifications s'effectueraient qu'après accord de celui qui a entré les données.

Si tu veux plus de détails, je me ferai une joie de le faire.

ddetp88

sympa la démo

la base n'est pas commune, n'est-ce pas ? il s'agit de 2 fichiers séparés identiques l'un à l'autre ?

comment gérer les modifications simultanées ?

que se passe-t-il en cas de coupure du réseau ?

combien d'utilisateurs pourraient travailler ainsi ?

Bonjour Sébastien, le Forum,

Merci, Sébastien, de rattacher Excel à notre planète

La démo est déjà impressionnante de convivialité et de réactivité.

Hormis la « parano » sécuritaire classique, j’entrevois d’autres usages :

d’une part, l’inutilité future des logiciels de surveillance des postes en temps réel,

d’autre part, un excellent moyen de transmission de messages très furtifs.

Je présume qu’une solution est en étude pour l’actualisation de 5 s,

lors de calculs dépassant cette durée ou que l’actualisation n’est validée qu’après résultat final.

Je reste suspendu au fil…

Cordialement

axion

La base commune est hébergée et là tu as ouverts deux fichiers pour la démo?

Oui, ce sont deux fichiers différents.

Tu vas le mettre en test? Si oui, je veux bien participer et te faire remonter les rapports d'utilisation.

Il est beaucoup trop tôt pour le mettre en test, il me reste bien plus de choses à développer que ce que l'on pourrait croire en voyant la vidéo ...

La base serait commune mais les modifications s'effectueraient qu'après accord de celui qui a entré les données.

Si tu veux plus de détails, je me ferai une joie de le faire.

Ca me semble possible mais ce n'est pas dans ma liste de fonctionnalités à développer pour le moment (mais bon, sait-on jamais) ...

la base n'est pas commune, n'est-ce pas ? il s'agit de 2 fichiers séparés identiques l'un à l'autre ?

Ce sont bien deux fichiers différents. Il peut s'agir aussi bien de deux classeurs identiques à la base ou complètement différents avec seulement une ou plusieurs feuilles en commun.

Ce n'est ici pas le classeur qui est partagé mais (le contenu de) la feuille.

comment gérer les modifications simultanées ?

Pour le moment, si 2 utilisateurs modifient la même cellule à moins de 5 secondes, la première modification sera écrasée (s'il est sur la feuille, le premier utilisateur devrait alors voir la cellule passer en vert suite au changement du collègue).

que se passe-t-il en cas de coupure du réseau ?

Cette fonctionnalité n'est pas encore développée, mais elle est bien sur ma liste de choses à faire ...

combien d'utilisateurs pourraient travailler ainsi ?

En théorie ce n'est pas limité (mais plus il y aura d'utilisateurs plus ce sera "risqué" pour les données en cas de mauvaise manipulation de la part d'un utilisateur).

Je présume qu’une solution est en étude pour l’actualisation de 5 s

C'est le taux de rafraîchissement actuel (5 sec). Il sera probablement possible plus tard de revoir ce taux à la hausse pour les utilisateurs qui n'ont pas besoin de quelque chose d'aussi rapide.

bonjour

je vous encourage (d’après ce que j'ai lu)

j'ai hâte de donner mon avis

je suis toujours le post

Bonjour le forum,

Il me tarde de pouvoir le tester, bravo je suis épaté

Alain

Rechercher des sujets similaires à "solution multi utilisateurs"