Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.
  • Initiateur de la discussion Initiateur de la discussion ricoco
  • 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 !

R

ricoco

Guest
hello

J'ai créer un ficher excel avec des macros, des formules, .....
Je cherche un moyen de bloquer la copie du fichier
c'est dire si une personne récupére ce fichier avec le mot de passe je souhaite qu'elle puis pas l'utiliser.
j'aurais donc un fichier par personne .

merci
 
Re : Blocage excel

Bonsoir ricoco,

Peux-tu expliquer plus avant ?
il y a déjà un mot de passe sur ton fichier ? à quel niveau (ouverture,code vba, protection des feuilles...) ?
tu veux que même avec le mot de passe, on ne puisse pas utiliser ton fichier ?
comment comptes-tu vérifier que ce n'est pas le bon utilisateur ? nom du compte Windows ? adresse MAC de la carte réseau ?
 
Re : Blocage excel

salut

le mot de passe a l'ouverture du fichier
effectivement je pense utiliser l'adresse mac du pc sur lequel ce fichier se trouve

si c facile a faire

merci
 
Re : Blocage excel

Bonjour à tous (salut tototiti2008 😉 )

ricoco
Juste pour mémoire: la protection du projet VBA est illusoire.
Il ne faut que quelques secondes pour l'outrepasser.
Et l'adresse MAC n'est qu'au final qu'un string.
(Il suffit donc de modifier le code VBA en conséquence)

Sinon outre le VBS, on peut utiliser dans l'invite MS-DOS: getmac
(que l'on peut d'ailleurs lancer par VBA des commandes MSDOS avec Shell
-> voir les exemples qui traitent de cela dans les archives du forum)

Mais au final, on retombera sur le fait que tout cela peut facilement être rendu inopérant.

PS: Par contre un mot de passe à l'ouverture du classeur est déjà plus difficile à contourner.

Si tu ne veux pas que cette personne utilise ton fichier, gardes le au chaud sur ton PC perso.

Si ton fichier est déjà dans la nature, il est déjà trop tard.
 
Re : Blocage excel

Bonjour à tous (salut david84)

Cela reste encore des strings "en clair", il suffit donc d'aller dans le projet VBA pour amender le code en conséquence et rendre la protection caduque.

ricoco: Pourquoi une personne utiliserai ton fichier si elle n'en a pas besoin?
Je cherche un moyen de bloquer la copie du fichier
Le seul moyen c'est d'être le seul utilisateur du dit fichier et de le stocker sur une clé USB.

Ou alors il faut t'embarquer dans la création d'un complément COM
Comment faire pour créer un complément COM Office 2000 dans Visual Basic
Et là c'est une autre paire de manche et il faut avoir les outils pour.
 
Re : Blocage excel

Bon

Alors essais cette méthode (test ok ici)
1) Lancer l'invite MSDOS* (voir copie d'écran ci-dessous)

2) Ensuite ouvrir par macro le fichier texte
Code VBA:
Sub Macro1()
'A lancer en tant qu'administrateur dans une Invite MSDOS
'getmac /NH /FO csv>c:\testmac.txt
'(Pas évident à faire sous Windows8!!

'Ensuite ouverture du fichier texte contenant l'adresse MAC
Workbooks.OpenText Filename:="C:\testmac.txt", Origin:=xlMSDOS, StartRow _
:=1, DataType:=xlDelimited, TextQualifier:=xlDoubleQuote, _
ConsecutiveDelimiter:=False, Tab:=False, Semicolon:=False, Comma:=True _
, Space:=False, Other:=False, FieldInfo:=Array(Array(1, 1), Array(2, 9)), _
TrailingMinusNumbers:=True
End Sub

*: Pour ce faire sous Windows8, j'ai du créé un raccourci sur le bureau que j'ai lancé en mode administrateur en faisant un clic-droit
Pour les versions inférieures: Démarrer/Accesoires/Invite MS-DOS
 
Dernière édition:
Re : Blocage excel

Re
Est il possible que l'adresse mac s'inscrive dans une cellule C5 par exemple a l'ouverture du fichier
Dans un module classique :
Code:
Sub Adresse_Mac()
strComputer = "."
Set objWMIService = GetObject("winmgmts:" _
    & "{impersonationLevel=impersonate}!\\" _
    & strComputer & "\root\cimv2")
Set colItems = objWMIService.ExecQuery _
    ("Select * from Win32_NetworkAdapterConfiguration")
For Each objItem In colItems
    If Not IsNull(objItem.IPAddress) Then _
    Range("C5") = "Adresse MAC : " & objItem.MACAddress
Next
Set objWMIService = Nothing
Set colItems = Nothing
End Sub
et dans le module de ThisWorkbook :
Code:
Private Sub Workbook_Open()
Call Adresse_Mac
End Sub
A+
 
- 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

  • Question Question
XL 2013 vba
Réponses
2
Affichages
296
  • Question Question
XL 2019 B
Réponses
10
Affichages
656
Réponses
5
Affichages
306
Réponses
1
Affichages
124
Réponses
12
Affichages
452
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…