fichiers en réseau et Macro active uniquement depuis un poste.

  • Initiateur de la discussion Initiateur de la discussion JSK97200
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

J

JSK97200

Guest
Bonsoir,

Sur un fichier EXCEL placé en réseau, je souhaiterais savoir s'il est possible de rendre certaines macros inactives ou actives selon les utilisateurs qui ouvrent le fichier.

Merci de votre aide.
 
Re : fichiers en réseau et Macro active uniquement depuis un poste.

Bonsoir Habitude,

merci pour ta réponse.

Si j'ai compris ?? avec la fonction Environ , je pourrais récupérer le nom de l'utilisateur qui a ouvert le fichier.

j'ai trouvé sur le forum quelque chose comme ça:

Sub test()
Range("A1") = Application.UserName
MsgBox VBA.Environ("username")
End Sub

Mais vu mon niveau , pourrais-tu m'aider pour aller plus loin ?

Comment puis-je autoriser ou autoriser le lancement d'une macro suivant le nom récupéré ?
faut-il un code pour chaque macros ?

Bonne soirée.
 
Re : fichiers en réseau et Macro active uniquement depuis un poste.

Bonsoir JSK97000,

Voici comment je procèderais :

Une fonction qui permet retourne une valeur Vrai / Faux à savoir si on doit bloquer ou non les macros.

Code:
Public Function BloquerMacro(sUserName As String) As Boolean

Select Case sUserName
    Case "User1", "User2"    'liste des user à autoriser les macro
        BloquerMacro = False
    Case Else
        BloquerMacro = True
End Select

End Function

et tu ajoutes une ligne au début de chaque macro pour bloquer ou non.

Code:
Sub TOTO()

'Vérifier si on bloque la macro ou non
'Ligne à mettre au début de chaque macro
If BloquerMacro(Application.UserName) Then Exit Sub

'Suite de la macro
MsgBox "Reste de la macro ici..."

End Sub

A+
 
Re : fichiers en réseau et Macro active uniquement depuis un poste.

Merci beaucoup !

c'est vraiment se que je souhaitais.

Est-il possible dans le même esprit de limiter l'ouverture de ce fichier ... ouverture ... lecture seule... selon les utilisateurs ?
Est-il possible de le protéger et bloque l’accès par visual basic ?

Encore merci et bonne soirée.
 
Re : fichiers en réseau et Macro active uniquement depuis un poste.

Bonjour,

Pour limiter l'accès et/ou ouvrir en lecture seule, j'utiliserais quelque chose comme ça... Je n'ai jamais eu à le faire auparavant donc je ne sais pas si c'est la meilleure méthode et/ou des limitations...

Code:
Private Sub Workbook_Open()

'Vérifier si on bloque l'ouverture du fichier
If BloquerMacro(Application.UserName) Then
        'Fermer le fichier sans sauvegarder
        'ThisWorkbook.Close False               'enlever le commentaire de la ligne pour permettre l'exécution.
End If

MsgBox "Le fichier peut s'ouvrir."


'Vérifier si on ouvre le fichier en mode ReadOnly seulement
   Application.DisplayAlerts = False
   If Application.UserName = "xxx" Then 'pourrait aussi remplacer par une fonction semblable à BloquerMacro si la liste des users est différente.
      MsgBox "Mode Édition"
      Workbooks.Open "d:\Example.xls"   'indiquer le répertoire du fichier
   Else
      MsgBox "Mode Lecture seule"
      Workbooks.Open "d:\Example.xls", , True 'indiquer le répertoire du fichier
   End If
   Application.DisplayAlerts = True
End Sub

J'ai mis en commentaire la ligne qui ferme le fichier. Attention si tu fais des tests avec ton "username" car tu ne serais peut-être plus en mesure d'ouvrir ton fichier car il se fermerait automatiquement.

Pour ce qui est d'ouvrir en mode lecture seule, je crois que le truc est de ré-ouvrir le fichier. Il faut donc que tu spécifies le chemin exact du fichier. Je n'ai pas vraiment tester à fond, mais ça devrait fonctionner... tant que le fichier est dans le bon répertoire.

Si ta liste d'usagers est différentes pour l'ouverture, lecture seule, etc..., tu pourrais utiliser différentes fonctions semblable à celle de mon premier post (BloquerMacro).

Note que si les macros sont désactivées, tout ceci ne sert à rien...

En espérant que ça t'aide un peu.

A+
 
Re : fichiers en réseau et Macro active uniquement depuis un poste.

merci Grand Chaman Excel,

Je vais essayer avec un fichier "TEST" merci encore.Pour moment je n'ai pas trop le temps , j'espère ce week-end.

Mais je voulais te remercier dès a présent. Merci également a Habitude.
 
Re : fichiers en réseau et Macro active uniquement depuis un poste.

Bonjour le fil

La protection d'un fichier par macro en lecture seule, n'est pas une bonne protection !
Il suffit à l'utilisateur de maintenir la touche MAJ appuyée lors de l'ouverture et aucune macro ne sera déclenchée

La seule bonne façon à mon avis, est l'attribution de droits sur le serveur lui même
Il suffit de demander à l'administrateur réseau

A+
 
Re : fichiers en réseau et Macro active uniquement depuis un poste.

Bonsoir et merci à tous pour vos réponses,

J'ai fais un essai avec :

Public Function BloquerMacro(sUserName As String) As Boolean

Select Case sUserName
Case "User1", "User2" 'liste des user à autoriser les macro
BloquerMacro = False
Case Else
BloquerMacro = True
End Select

End Function

et

Code :
Sub TOTO()

'Vérifier si on bloque la macro ou non
'Ligne à mettre au début de chaque macro
If BloquerMacro(Application.UserName) Then Exit Sub

'Suite de la macro
MsgBox "Reste de la macro ici..."

End Sub

Cela fonctionne, mais le problème est que

j'ouvre une session sur le réseau en me connectant ex JeanP.dupont , je fais un essai pour connaitre mon nom d'utilisateur et cela me donne = Installer

dois-je comprendre que sur le réseau tous les postes = Installer ??

Alors retour à la case départ ??

Merci pour vos observations.
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Réponses
5
Affichages
403
Réponses
10
Affichages
1 K
Retour