Problème "fichier partager" / "fichier exclusif" [Résolu]

STFj 6 Messages postés vendredi 6 janvier 2012Date d'inscription 23 janvier 2012 Dernière intervention - 23 janv. 2012 à 11:14 - Dernière réponse : STFj 6 Messages postés vendredi 6 janvier 2012Date d'inscription 23 janvier 2012 Dernière intervention
- 23 janv. 2012 à 14:14
Bonjour à tous,
Ce matin, je suis confronté à un nouveau problème sur mon fichier excel qui est partager...

Situation : Le fichier est partager sur le réseau, et utilise des macros VBA... En règle général général, il est impossible d'exécuter certaine macros sur un classeur partager. Or j'ai troucver une astuce un peu barbare pour executer quand même ces macro : Au lancement de la macro, je rend le fichier partager en mode exclusif, et a la fin de la macro je le remet en mode partager => Voici le code qui le permet :

'''''''''''''''''''''''''''''''''''''''''''''''''Procédure pour rendre
If ActiveWorkbook.MultiUserEditing Then
Application.DisplayAlerts = False ' Pas de message d'erreur
ActiveWorkbook.ExclusiveAccess ' Accès exclusif activé !
Application.DisplayAlerts = False
End If
'''''''''''''''''''''''''''''''''''''''''''''''''exclusif le classeur
Ma Macro
'''''''''''''''''''''''''''''''''''''''''''''''''''''''Procédure pour
If Not ActiveWorkbook.MultiUserEditing Then
Application.DisplayAlerts = False
ActiveWorkbook.SaveAs Filename:=ActiveWorkbook.FullName, accessMode:=xlShared
Application.DisplayAlerts = False
End If
''''''''''''''''''''''''''''''''''''''''''''''''''''''Partager le classeur

Problème rencontrer : Le fait de rendre exclusif le classeur, déconnecte tout les utilisateurs du fichiers sans le fermé (en gros il ne se doute même pas que le fichier n'est plus partager), et lorsque la macro réactive le mode partage, tout les utilisateurs qui n'ont pas lancé la macro se retrouve sur un "fichier bis" et perde les modifs si ils enregistre pas sur un nouveau nom.(chose que je veut éviter)

Ainsi , je me demande si il est possible avant de rendre exclusif le classeur, de récupérer le nom des utilisateur connecté au fichier, le stocké sous forme de liste par exemple, pour que lorsque la macro réactive le mode partager, je charge le nom des utilisateurs qui était connectés auparavant...

Est ce que quelqu'un voit un solution a se problème ou faut il que j'annule le partage du fichier sur le réseau = chose primordiale dans ce cas ???

Merci par avance pour votre aide...
CDT
Afficher la suite 

4 réponses

Répondre au sujet
ucfoutu 18039 Messages postés lundi 7 décembre 2009Date d'inscriptionContributeurStatut 11 avril 2018 Dernière intervention - 23 janv. 2012 à 13:53
+3
Utile
Je ne peux essayer sur ma machine unique.
Mais il semble qu'il y ait une erreur de frappe (dans le lien).
Essaye de supprimer le \ dans ID:\=2040


____________________
Réponse exacte ? => "REPONSE ACCEPTEE" pour faciliter les recherches d'autres forumeurs.
Pas d'aide en ligne installée ? ==> ne comptez pas sur moi pour simplement vous dire ce qu'elle contient
Cette réponse vous a-t-elle aidé ?  
Commenter la réponse de ucfoutu
ucfoutu 18039 Messages postés lundi 7 décembre 2009Date d'inscriptionContributeurStatut 11 avril 2018 Dernière intervention - 23 janv. 2012 à 11:30
0
Utile
Bonjour,

N'ai pas testé, mais il me semble que le code que tu trouveras dans cet article devrait assez largement répondre à ta problématique.


____________________
Réponse exacte ? => "REPONSE ACCEPTEE" pour faciliter les recherches d'autres forumeurs.
Pas d'aide en ligne installée ? ==> ne comptez pas sur moi pour simplement vous dire ce qu'elle contient
Commenter la réponse de ucfoutu
STFj 6 Messages postés vendredi 6 janvier 2012Date d'inscription 23 janvier 2012 Dernière intervention - 23 janv. 2012 à 13:19
0
Utile
salut et merci d'avoir pris le temps pour m'aider,
J'ai regarder le lien que tu as mis, ca a l'air d'etre se que je cherche,merci, cependant quand je copie le colle sur mon projet, J'ai un erreur de paramétrage au niveau de l'ID :

Sub Startup()
'Paul, mpep
Dim ShowUsers
Set ShowUsers = Application.CommandBars("Standard").Controls.Add(Type:= msoControlButton, ID :\ =2040, ,Before:=13)
=> "Erreur de compilation : Paramètre nommé"

ShowUsers.Execute
Application.CommandBars("Standard").Controls(13).Delete

End Sub
Commenter la réponse de STFj
STFj 6 Messages postés vendredi 6 janvier 2012Date d'inscription 23 janvier 2012 Dernière intervention - 23 janv. 2012 à 14:14
0
Utile
yes!!! l'erreur venait bien du ""...
J'avais essayer de définir l'ID ou de le modifier... Enfin bref, ca marche c'est nickel... Me reste plus qu'à utiliser le fichier log pour charger et décharger des utilisateurs...
Encore MERCI pour ton aide: rapide, efficace, tout se que j'aime...^^

Cdt
Commenter la réponse de STFj

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.