Classeurs avec macro partager

Bonjour,

ci-joint fichier avec code ajusté

Thev,

Cela ne marche toujours pas il fait beuguer mon PC et maffiche que je suis en lecture seul alors que je suis seul a avoir ouvert le classeur.

Il ouvre deux page et me met en boucle le msgbox

cordialement


en faite c'est bon c'est exactement ca !! la ca fonctionne mais avant une ouverture et meme en étant seul il me dit :

'Excel pour forum2.xlsm' devrait etre ouvert en lecture seule à moins que vous n'ayez besoin d'enregistrer des modifications. Voulez vous l'ouvrir en lecture seule ?

si ce message peut être supprimé tout sera réglé a la perfection vous avez fait exactement tout ce qu'il y avait a faire c'est absolument parfait !!!!!! 1000000000000 merci vraiment

Il suffit de le réenregistrer sans l'option lecture seule recommandée

Je suis vraiment désolé Thev il reste un dernier point a régler car lorsque je l'ouvre en lecture seul sur un autre poste il me demande le code pour ôter la protection, et me met juste après une erreur d'exécution. vous trouverez en pièce jointe les impr écran

Mais l'erreur est differente ( est ciblé sur une autre ligne) quand je l'ouvre avec un autre PC

Mais le message s'est bien enlever c'est le top du top ca !!!!

le beug

Votre procédure de saisie, lorqu'elle protège les feuilles met un mot de passe que je ne connais pas. Il faut ajouter ce mot de passe dans toutes les instructions protect et unprotect

        '.... protection Feuil2 Tableau de bord .................................................................
        Feuil2.Unprotect "mot de passe"
        cellules_saisies_F2.Locked = True    'verrouillage cellules de saisie
        Feuil2.Protect "mot de passe"
        '.... protection Feuil3 Hall; Partking .................................................................
        Feuil3.Unprotect "mot de passe"
        cellules_saisies_F3.Locked = True    'verrouillage cellules de saisie
        Feuil3.Protect "mot de passe"
        '.... libération Feuil2 et Feuil3  si nécessaire ................................................................
        Feuil2.Unprotect "mot de passe"
        cellules_saisies_F2.Locked = False    'déverrouillage cellules de saisie
        Feuil3.Unprotect "mot de passe"
        cellules_saisies_F3.Locked = False    'déverrouillage cellules de saisie

en mettant le mot de passe partout ou vous l'avez indiqué la saisie redevient possible en lecture seul :/


a non c'est bon autant pour moi la saisie ne s'effectue plus tout est absolument parfait plus aucun probleme a 1er vu

Thev je tiens a vous remercier pour vos solution et votre patience dans ce projet. vous avez su répondre a divers question sans même avoir besoin du classeur. et vous avez pu répondre a la totalité de mes questions même avec mes irrégularités dans mes réponses tardives.

mille merci vous m'avez été d'une aide incroyable !!!!!

Je vous souhaite une bonne continuation et encore une fois merci

Bonjour, ce sujet date un peu mais avez vous la même solution pour les classeurs Excel héberger sur un SharePoint ?

Merci d'avance

Bonjour, ce sujet date un peu mais avez vous la même solution pour les classeurs Excel héberger sur un SharePoint ?

Un classeur Excel hébergé sur un SharePoint fonctionne avec Excel Web et non pas avec Excel Office.

Excel Web gère en principe les accès concurrents mais ne peut pas exécuter de macros VBA car non compatibles avec l'interface Web.

Pourtant j’utilise un sharepoint et les fichiers excel s’ouvrent bien dans Excel 2016 tout en prenant en charge les macros VBA.

Mais en essayant ce code, ça ne fonctionne pas. Excel ne détecte pas quand le document est libre et donne les droit à un autre utilisateur.

Mais la fermeture au bout de 15 fonctionne.

les fichiers excel s’ouvrent bien dans Excel 2016 tout en prenant en charge les macros VBA.

L'ouverture dans Excel 2016 correspond à l'application Office 2016 ou 365 installée sur votre PC et non à une ouverture Web sur un SharePoint.

S'il s'agit de partager votre fichier via l'application Excel présente sur PC, le mettre sur un SharePoint ne me parait pas une bonne solution.

Quand vous ouvrez un fichier logé sur SharePoint avec l'application bureautique, il vous en fait une copie locale sur votre PC. Si un 2ème utilisateur fait la même opération, cela doit sûrement générer des conflits lors de la recopie des 2 fichiers locaux sur le SharePoint.

Bonjour,

je me permets de vous contacter car il semblerait que vous maitrisez à la perfection le codage sur excel !! Voilà j'ai créer un classeur excel avec plusieurs feuilles, plusieurs macros et plusieurs utilisateurs avec mot de passe qui ont des accès différents. Voilà tout ça m'a pris un certain temps et là je m'aperçois qu'en fait on peut pas l'utiliser à plusieurs en même temps sur une sharepoint,onedrive ou box. Aussi votre solution dans ce post semble adéquat, es ce que si je vous fais parvenir ce fichier vous pouvez le regarder et me dire si cela fonctionnerait svp ?

Bonjour,

Je vous engage à voir ma réponse dans ce post qui explique comment partager un classeur Excel entre plusieurs utilisateurs

https://forum.excel-pratique.com/viewtopic.php?f=2&t=138032

merci pour votre réponse !

mais vous m'avez déjà perdu

vous parlez d'access dans ce post : es ce que ce serait la solution ?

ous parlez d'access dans ce post : es ce que ce serait la solution ?

Bien sûr qu'utiliser Access est une bien meilleure solution car les tables Access gèrent nativement le partage entre plusieurs utilisateurs.

Que n'avez-vous pas compris ?

Pour gérer correctement un partage Excel, le préalable est d'abord de scinder votre classeur en deux : un contenant les macros dont les UserForm et l'autre ne contenant que les données.

Le classeur 1 contenant le code est partagé, le classeur 2 contenant les données ne l'est pas.

1- Le classeur 1 ouvre d'abord le classeur 2 en lecture seule pour accéder aux données.

2- lorsque le classeur 1 veut effectuer une mise à jour, il ferme le classeur 2 en lecture seule et essaie d'ouvrir le classeur 2 en lecture normale en vérifiant qu'il n'est pas déjà ouvert en lecture normale par un autre utilisateur. Si c'est le cas, sa demande d'ouverture est mise en attente jusqu'à ce que l'autre utilisateur ait terminé.

3- lorsque le classeur 1 a terminé sa mise à jour, il ferme le classeur 2 en lecture normale avec validation de la mise à jour et le rouvre en lecture seule.

Voilà donc pour le principe.

donc vous pensez que je ferais mieux d'utiliser access mais es ce possible ? mon fichier est trop volumineux pour être télécharger içi mais sinon oui je comprends le principe mais j'avoue que je ne comprends pas comment faire

inon oui je comprends le principe mais j'avoue que je ne comprends pas comment faire

Tout dépend déjà de la façon dont sont organisés votre code et vos données.

Où se trouve votre code ? : Dans des modules ? Dans des UserForm ?

Où se trouve vos données qui sont mises à jours : dans quelle feuilles ?

La première étape est déjà de répondre précisément à ces questions.

alors je vous dis ce que je pense comprendre :

j'ai 15 feuilles différentes qui sont dans le dossier microsoft excel objets de mon vbaproject

j'ai ensuite un code dans thisworkbook

j'ai ensuite un code dans le userform

j'ai 2 codes dans 2 modules

je sais pas si c'est clair, si vous préférez je peux vous envoyer le fichier je l'ai zipper

j'ai 15 feuilles différentes qui sont dans le dossier microsoft excel objets de mon vbaproject

Sur ces 15 feuilles, quelles sont celles qui donnent lieu à une mise à jour par vos utilisateurs ?

Quand vous aurez la réponse, vous aurez toutes celles à mettre dans un 2ème classeur réservé uniquement à des données.

Cela dit, la mise en place du principe que j'ai évoqué va demander du temps et de l'énergie car toute une révision du code sera nécessaire.

A mon avis, vous devez garder le fonctionnement actuel en limitant l'accès en mise jour à très peu d'utilisateurs avec des séquences horaires jusqu'à ce qu'une éventuelle décision de réinvestir selon ce principe soit prise .

Rechercher des sujets similaires à "classeurs macro partager"