Partager fichier Excel VBA

Bonjour le forum,

Savez vous quelle est la meilleur méthode pour que plusieurs personne utilise le même fichier Excel (avec des macro dedans + des userform). Actuelement nous utilisons Sharepoint, puis nous ouvrons le fichier dans le bureau et sur ça nous pouvons voir en direct les modifications des autres personnes. Le problème c'est que par moment la sauvegarde automatique se déconnecte.

Merci pour votre aide.

Bonjour, hélas le mode partage n'est pas parfait surtout avec des macro ou des userforms.

C'est déjà pas mal si votre fichier fonctionne en partage ; ce n'est pas le cas tout le temps.

Pour la sauvage automatique ; j'éviterai de compter dessus.

Le plus simple puisque vous utilisez des userfomrs ; et d'inclure

un " ActiveWorkbook.save " dans les codes de vos userform qui valident des infos.

Bonjour,

Je dirai que dans votre mode de fonctionnement, la meilleure méthode est celle qui permettra qu'une seule personne mette à jour le fichier dans une plage horaire fixée, sinon, vous risquez fort d'avoir des pertes de données. Cela signifie donc une planification des interventions des personnes pour mise à jour.

Bonjour à vous deux et merci pour votre aide,

Malheureusement cela est déjà arrivé plusieurs fois, j'ai perdu quelques données car le fichier sur le pc se déconnecter du SharePoint. J'ai pas trop bien compris ta méthode thev, du coup je ne peux pas utiliser le même fichier sur plusieurs pc simultanément ?

X-men, j'ai juste à mettre le " ActiveWorkbook.save " dans l'initialisation du UserForm ou alors directement dans un bouton qui permet la modification du fichier excel?

Cordialement.

Bonjour, non pas dans l'initialisation du userform car aucune données nouvelles n'est encore saisie.

Je pensais plutôt dans tous les boutons qui ont des actions sur ta base de données.

Exemple :

- Bouton supprimer une ligne.

-Bouton enregistrer une modification

- Bouton valider une nouvelle saisie ....

çà limitera la perte mais c'est pas non plus la solution miracle pour les déconnexions sharepoint.

PS essayer d'abord sur une copie de fichier afin de vérifier que l'enregistrement du fichier aprés chaque modifications ne fait pas planter les autres

autres utilisateurs du fichier partagé.

D'accord cela semble plus logique. Donc si la synchronisation s'enlève alors au moment ou il clic sur le bouton alors il va directement enregistrer le document sur le dossier SharePoint et pas le mettre sur le bureau?

Bonjour,

quant à moi, je proposerai d'utiliser 2 fichiers. Un fichier excel avec les macros et les formulaires et un autre (excel, access, DB SQL) avec les données. Les macros devront gérer les accès concurrents, cela garantira l'intégrité des données mais cela peut être lourd à programmer si on n'utilise pas une DB.

Bonjour h2so4,

Solution intéressante, tu propose donc que l'on utilise 1 fichier avec les formulaire et un autre fichier qui servira de de BDD mais qui restera fermer? et le tout dans un même dossier Sharepoint j'imagine?

re-bonjour,

Solution intéressante, tu propose donc que l'on utilise 1 fichier avec les formulaire et un autre fichier qui servira de de BDD mais qui restera fermer? et le tout dans un même dossier Sharepoint j'imagine?

restera fermé, oui et ouvert le temps nécessaire à la lecture écriture, le fichier données ouvert bloquant les accès aux autres personnes tant que la transaction n'est pas terminée (si la durée d'une transaction n'est pas trop longue et s'il n'y a pas trop de personnes qui utilisent l'application en même temps, sinon il faut envisager un autre mécanisme de gestion des accès partagés).

le tout sur sharepoint.

A oui, parce que pour le moment nous espérons faire utiliser le fichier sur 8 pc simultanément, tu penses que cela est possible?

parce que pour le moment nous espérons faire utiliser le fichier sur 8 pc simultanément, tu penses que cela est possible

tout dépend de la fréquence et de la durée des mises à jour. Cependant pour ce nombre d'utilisateurs, je te conseillerai d'utiliser un SGBD pour le stockage de tes données et la gestion des accès concurrents. ACCESS peut être utilisé pour quelques utilisateurs, pour plus je te conseille un vrai SGBD (mySQL, SQL Server, Oracle, etc ...)

dans tous les cas, l'accès partagé en lecture/écriture avec garantie de l'intégrité des données va complexifier ton code et t'obliger à réinventer la roue pour la gestion des accès concurrents si tu veux utiliser EXCEL pour le stockage de tes données.

Oula je sens que cela va être bien compliqué a mettre en place. J'ai jamais fais de SQL et de ACCESS, enfin bon il y a un début à tout. Je vais voir comment tout cela fonctionne et je te ferai un retour si je bloque ou si j'ai des questions. Merci.

J'ai pas trop bien compris ta méthode thev, du coup je ne peux pas utiliser le même fichier sur plusieurs pc simultanément ?

Si mais pas en même temps. Autrement dit, une seule personne l'utilise en mise à jour de 9h à 12H et une autre de 14h à 17h. Cela implique donc une planification des mises à jours pour qu'une seule personne le fasse à un moment donné.

Cela dit, la bonne solution est comme l'indique h2so4, de séparer code et données, donc un fichier contenant les macros (formulaires et modules) et un fichier pour les données (organisées en tableaux structurés). Après, il faut gérer dans le fichier des macros, les accès au fichier des données de façon à ce qu'une seule personne y ait accès en mise à jour lorsque les données doivent être enregistrées. Une autre piste est effectivement d'utiliser Access qui lui, gère automatiquement les accès en mise à jour.

Bonjour le fil

Franchement avec O365, pourquoi utiliser ces solutions "archaïques"

On peut faire tellement de choses superbes avec Power Apps, Forms, Bi, etc... il faut savoir évoluer

Je dis ça, je dis rien

Bonjour,

Bruno, je trouve que Power Apps est assez limité car dans mes userforms il y a beaucoup de code et je ne pense que Power App suffira. J'ai l'impression que PowerApps est utile seulement pour de petites application mobile. Je pense que je vais plutôt me tourner vers ACCESS.

Bonsoir tout le monde,

Apres quelques recherches, j'aimerais savoir si le logiciel pgadmin 4 est adéquat pour ce que je voudrais faire? Je ne sais pas par contre si je peux liée un userform Excel à ce logiciel, ou alors si je peux directement créer une sorte de userform dans pgAdmin 4. Merci pour votre aide.

Rechercher des sujets similaires à "partager fichier vba"