rendre un fichier excel lisible uniquement sur reseau associatif
6 réponses
fredericrenaudin
bonjour,
je sais pas si je pose la bonne question au bon endroit mais j'essaye quand
meme, voila:
je voudrais faire en sorte qu'un de mes fichiers excel ne soit lisible et
utilisable uniquement sur mon reseau local dans ma petite asso. De facon a
ce que mes membres ne "s'amuse pas" a l'embarqué chez eux.
je ne sais pas comment faire !
j'ai essayé avec des macros de ne pas faire afficher les menus , le menu
contextuel, les "copier coller", la fonction enregistrer sous mais ces
derniers peuvent toujours le copier et l'emmnener chez eux!
si quelqu'un a une idée, du genre: realiser une macro qui fait un ping sur
le serveur hebergeur et en fonction de la reponse forcer l'affichage d'une
couleur blanche pour les lettres et d'un fond blanc ce qui conjoitement
avec l'absence de certaine fonctions comme le "copier coller" et des menus
rendrait le fichier excel inutilisable ailleurs qu'en presence du serveur
hebergeur.
comme je suis une brel en programmation je sollicite humblement votre aide
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Christian Herbé
bonjour, je sais pas si je pose la bonne question au bon endroit mais j'essaye quand meme, voila:
je voudrais faire en sorte qu'un de mes fichiers excel ne soit lisible et utilisable uniquement sur mon reseau local dans ma petite asso. De facon a ce que mes membres ne "s'amuse pas" a l'embarqué chez eux.
Doit-on deviner que le fichier est stocké sur un serveur web ou FTP ? Ou bien est-il sur une des machines du réseau local ?
De quoi ont besoin les utilisateurs, simplement visualiser les données ou ont-ils besoin des fonctionnalités Excel ?
Si c'est une simple visualisation, transforme le fichier en PDF(*). Ils pourront l'emporter sans le transformer enfin presque parce qu'il existe quand même des solutions mais elles ne sont pas à la porté de l'utilisateur lambda.
(*) on trouve des logiciels gratuits pour écrire en PDF
bonjour,
je sais pas si je pose la bonne question au bon endroit mais j'essaye quand
meme, voila:
je voudrais faire en sorte qu'un de mes fichiers excel ne soit lisible et
utilisable uniquement sur mon reseau local dans ma petite asso. De facon a
ce que mes membres ne "s'amuse pas" a l'embarqué chez eux.
Doit-on deviner que le fichier est stocké sur un serveur web ou FTP ?
Ou bien est-il sur une des machines du réseau local ?
De quoi ont besoin les utilisateurs, simplement visualiser les données
ou ont-ils besoin des fonctionnalités Excel ?
Si c'est une simple visualisation, transforme le fichier en PDF(*).
Ils pourront l'emporter sans le transformer enfin presque parce qu'il
existe quand même des solutions mais elles ne sont pas à la porté de
l'utilisateur lambda.
(*) on trouve des logiciels gratuits pour écrire en PDF
bonjour, je sais pas si je pose la bonne question au bon endroit mais j'essaye quand meme, voila:
je voudrais faire en sorte qu'un de mes fichiers excel ne soit lisible et utilisable uniquement sur mon reseau local dans ma petite asso. De facon a ce que mes membres ne "s'amuse pas" a l'embarqué chez eux.
Doit-on deviner que le fichier est stocké sur un serveur web ou FTP ? Ou bien est-il sur une des machines du réseau local ?
De quoi ont besoin les utilisateurs, simplement visualiser les données ou ont-ils besoin des fonctionnalités Excel ?
Si c'est une simple visualisation, transforme le fichier en PDF(*). Ils pourront l'emporter sans le transformer enfin presque parce qu'il existe quand même des solutions mais elles ne sont pas à la porté de l'utilisateur lambda.
(*) on trouve des logiciels gratuits pour écrire en PDF
FxM
Bonsoir,
Tu peux t'inspirer des fonction suivantes pour lister les lecteurs, déterminer le type de lecteur ou leur numéro de série.
'===== Function DriveSerialNumber(Lecteur) Dim fso, d Set fso = CreateObject("Scripting.FileSystemObject") Set d = fso.GetDrive(fso.GetDriveName _ (fso.GetAbsolutePathName(Lecteur & ":"))) DriveSerialNumber = d.SerialNumber End Function MsgBox DriveSerialNumber("C") (Merci FS)
'===== Private Declare Function GetLogicalDrives Lib "kernel32" () As Long Private Declare Function GetDriveType Lib "kernel32" Alias "GetDriveTypeA" (ByVal nDrive As String) As Long
Public Function GetDriveList(Optional DriveType As DriveType = -1) As String Dim lDrives As Long Dim x As Integer Dim sRetVal As String lDrives = GetLogicalDrives If lDrives > 0 Then For x = 0 To 24 If ((2 ^ x) And lDrives) > 0 Then If DriveType < 0 Then sRetVal = sRetVal & " " & Chr(65 + x) Else If GetDriveType(Chr(65 + x) & ":") = DriveType Then sRetVal = sRetVal & " " & Chr(65 + x) End If End If End If Next x If Len(sRetVal) > 1 Then sRetVal = Mid(sRetVal, 2) End If GetDriveList = sRetVal End Function
Sub test() zz = GetDriveList End Sub
@+ FxM
wrote:
bonjour, je sais pas si je pose la bonne question au bon endroit mais j'essaye quand meme, voila:
je voudrais faire en sorte qu'un de mes fichiers excel ne soit lisible et utilisable uniquement sur mon reseau local dans ma petite asso. De facon a ce que mes membres ne "s'amuse pas" a l'embarqué chez eux.
je ne sais pas comment faire !
j'ai essayé avec des macros de ne pas faire afficher les menus , le menu contextuel, les "copier coller", la fonction enregistrer sous mais ces derniers peuvent toujours le copier et l'emmnener chez eux!
si quelqu'un a une idée, du genre: realiser une macro qui fait un ping sur le serveur hebergeur et en fonction de la reponse forcer l'affichage d'une couleur blanche pour les lettres et d'un fond blanc ce qui conjoitement avec l'absence de certaine fonctions comme le "copier coller" et des menus rendrait le fichier excel inutilisable ailleurs qu'en presence du serveur hebergeur.
comme je suis une brel en programmation je sollicite humblement votre aide
Bonsoir,
Tu peux t'inspirer des fonction suivantes pour lister les lecteurs,
déterminer le type de lecteur ou leur numéro de série.
'===== Function DriveSerialNumber(Lecteur)
Dim fso, d
Set fso = CreateObject("Scripting.FileSystemObject")
Set d = fso.GetDrive(fso.GetDriveName _
(fso.GetAbsolutePathName(Lecteur & ":")))
DriveSerialNumber = d.SerialNumber
End Function
MsgBox DriveSerialNumber("C")
(Merci FS)
'===== Private Declare Function GetLogicalDrives Lib "kernel32" () As Long
Private Declare Function GetDriveType Lib "kernel32" Alias
"GetDriveTypeA" (ByVal nDrive As String) As Long
Public Function GetDriveList(Optional DriveType As DriveType = -1) As
String
Dim lDrives As Long
Dim x As Integer
Dim sRetVal As String
lDrives = GetLogicalDrives
If lDrives > 0 Then
For x = 0 To 24
If ((2 ^ x) And lDrives) > 0 Then
If DriveType < 0 Then
sRetVal = sRetVal & " " & Chr(65 + x)
Else
If GetDriveType(Chr(65 + x) & ":") = DriveType Then
sRetVal = sRetVal & " " & Chr(65 + x)
End If
End If
End If
Next x
If Len(sRetVal) > 1 Then sRetVal = Mid(sRetVal, 2)
End If
GetDriveList = sRetVal
End Function
Sub test()
zz = GetDriveList
End Sub
@+
FxM
fredericrenaudin@csopmi.dyndns.org wrote:
bonjour,
je sais pas si je pose la bonne question au bon endroit mais j'essaye quand
meme, voila:
je voudrais faire en sorte qu'un de mes fichiers excel ne soit lisible et
utilisable uniquement sur mon reseau local dans ma petite asso. De facon a
ce que mes membres ne "s'amuse pas" a l'embarqué chez eux.
je ne sais pas comment faire !
j'ai essayé avec des macros de ne pas faire afficher les menus , le menu
contextuel, les "copier coller", la fonction enregistrer sous mais ces
derniers peuvent toujours le copier et l'emmnener chez eux!
si quelqu'un a une idée, du genre: realiser une macro qui fait un ping sur
le serveur hebergeur et en fonction de la reponse forcer l'affichage d'une
couleur blanche pour les lettres et d'un fond blanc ce qui conjoitement
avec l'absence de certaine fonctions comme le "copier coller" et des menus
rendrait le fichier excel inutilisable ailleurs qu'en presence du serveur
hebergeur.
comme je suis une brel en programmation je sollicite humblement votre aide
Tu peux t'inspirer des fonction suivantes pour lister les lecteurs, déterminer le type de lecteur ou leur numéro de série.
'===== Function DriveSerialNumber(Lecteur) Dim fso, d Set fso = CreateObject("Scripting.FileSystemObject") Set d = fso.GetDrive(fso.GetDriveName _ (fso.GetAbsolutePathName(Lecteur & ":"))) DriveSerialNumber = d.SerialNumber End Function MsgBox DriveSerialNumber("C") (Merci FS)
'===== Private Declare Function GetLogicalDrives Lib "kernel32" () As Long Private Declare Function GetDriveType Lib "kernel32" Alias "GetDriveTypeA" (ByVal nDrive As String) As Long
Public Function GetDriveList(Optional DriveType As DriveType = -1) As String Dim lDrives As Long Dim x As Integer Dim sRetVal As String lDrives = GetLogicalDrives If lDrives > 0 Then For x = 0 To 24 If ((2 ^ x) And lDrives) > 0 Then If DriveType < 0 Then sRetVal = sRetVal & " " & Chr(65 + x) Else If GetDriveType(Chr(65 + x) & ":") = DriveType Then sRetVal = sRetVal & " " & Chr(65 + x) End If End If End If Next x If Len(sRetVal) > 1 Then sRetVal = Mid(sRetVal, 2) End If GetDriveList = sRetVal End Function
Sub test() zz = GetDriveList End Sub
@+ FxM
wrote:
bonjour, je sais pas si je pose la bonne question au bon endroit mais j'essaye quand meme, voila:
je voudrais faire en sorte qu'un de mes fichiers excel ne soit lisible et utilisable uniquement sur mon reseau local dans ma petite asso. De facon a ce que mes membres ne "s'amuse pas" a l'embarqué chez eux.
je ne sais pas comment faire !
j'ai essayé avec des macros de ne pas faire afficher les menus , le menu contextuel, les "copier coller", la fonction enregistrer sous mais ces derniers peuvent toujours le copier et l'emmnener chez eux!
si quelqu'un a une idée, du genre: realiser une macro qui fait un ping sur le serveur hebergeur et en fonction de la reponse forcer l'affichage d'une couleur blanche pour les lettres et d'un fond blanc ce qui conjoitement avec l'absence de certaine fonctions comme le "copier coller" et des menus rendrait le fichier excel inutilisable ailleurs qu'en presence du serveur hebergeur.
comme je suis une brel en programmation je sollicite humblement votre aide
1) le fichier peut etre stocké sur le serveur http mais je sais pas comment utiliser les fonctionnalités excel necessaire (notamment les formules de calculs) donc sur le reseau local me semblerait plus judicieux 2) c un prg de calcul donc les utilisateurs ont besoins des fonctionnalités excel (notamment les formules de calculs)(bis)
"Christian Herbé" a écrit dans le message news:
bonjour, je sais pas si je pose la bonne question au bon endroit mais j'essaye quand
meme, voila:
je voudrais faire en sorte qu'un de mes fichiers excel ne soit lisible et
utilisable uniquement sur mon reseau local dans ma petite asso. De facon a
ce que mes membres ne "s'amuse pas" a l'embarqué chez eux.
Doit-on deviner que le fichier est stocké sur un serveur web ou FTP ? Ou bien est-il sur une des machines du réseau local ?
De quoi ont besoin les utilisateurs, simplement visualiser les données ou ont-ils besoin des fonctionnalités Excel ?
Si c'est une simple visualisation, transforme le fichier en PDF(*). Ils pourront l'emporter sans le transformer enfin presque parce qu'il existe quand même des solutions mais elles ne sont pas à la porté de l'utilisateur lambda.
(*) on trouve des logiciels gratuits pour écrire en PDF
1) le fichier peut etre stocké sur le serveur http mais je sais pas comment
utiliser les fonctionnalités excel necessaire (notamment les formules de
calculs)
donc sur le reseau local me semblerait plus judicieux
2) c un prg de calcul donc les utilisateurs ont besoins des fonctionnalités
excel (notamment les formules de calculs)(bis)
"Christian Herbé" <cherbe@free.fr> a écrit dans le message news:
uUqYAePuDHA.2408@tk2msftngp13.phx.gbl...
bonjour,
je sais pas si je pose la bonne question au bon endroit mais j'essaye
quand
meme, voila:
je voudrais faire en sorte qu'un de mes fichiers excel ne soit lisible
et
utilisable uniquement sur mon reseau local dans ma petite asso. De facon
a
ce que mes membres ne "s'amuse pas" a l'embarqué chez eux.
Doit-on deviner que le fichier est stocké sur un serveur web ou FTP ?
Ou bien est-il sur une des machines du réseau local ?
De quoi ont besoin les utilisateurs, simplement visualiser les données
ou ont-ils besoin des fonctionnalités Excel ?
Si c'est une simple visualisation, transforme le fichier en PDF(*).
Ils pourront l'emporter sans le transformer enfin presque parce qu'il
existe quand même des solutions mais elles ne sont pas à la porté de
l'utilisateur lambda.
(*) on trouve des logiciels gratuits pour écrire en PDF
1) le fichier peut etre stocké sur le serveur http mais je sais pas comment utiliser les fonctionnalités excel necessaire (notamment les formules de calculs) donc sur le reseau local me semblerait plus judicieux 2) c un prg de calcul donc les utilisateurs ont besoins des fonctionnalités excel (notamment les formules de calculs)(bis)
"Christian Herbé" a écrit dans le message news:
bonjour, je sais pas si je pose la bonne question au bon endroit mais j'essaye quand
meme, voila:
je voudrais faire en sorte qu'un de mes fichiers excel ne soit lisible et
utilisable uniquement sur mon reseau local dans ma petite asso. De facon a
ce que mes membres ne "s'amuse pas" a l'embarqué chez eux.
Doit-on deviner que le fichier est stocké sur un serveur web ou FTP ? Ou bien est-il sur une des machines du réseau local ?
De quoi ont besoin les utilisateurs, simplement visualiser les données ou ont-ils besoin des fonctionnalités Excel ?
Si c'est une simple visualisation, transforme le fichier en PDF(*). Ils pourront l'emporter sans le transformer enfin presque parce qu'il existe quand même des solutions mais elles ne sont pas à la porté de l'utilisateur lambda.
(*) on trouve des logiciels gratuits pour écrire en PDF
merci de m'avoir repondu peux tu me donner plus d'explications quand aux fonctions fournies ? "prcq j'y comprends rien...."
"FxM" a écrit dans le message news: #
Bonsoir,
Tu peux t'inspirer des fonction suivantes pour lister les lecteurs, déterminer le type de lecteur ou leur numéro de série.
'===== > Function DriveSerialNumber(Lecteur) Dim fso, d Set fso = CreateObject("Scripting.FileSystemObject") Set d = fso.GetDrive(fso.GetDriveName _ (fso.GetAbsolutePathName(Lecteur & ":"))) DriveSerialNumber = d.SerialNumber End Function MsgBox DriveSerialNumber("C") (Merci FS)
'===== > Private Declare Function GetLogicalDrives Lib "kernel32" () As Long Private Declare Function GetDriveType Lib "kernel32" Alias "GetDriveTypeA" (ByVal nDrive As String) As Long
Public Function GetDriveList(Optional DriveType As DriveType = -1) As String Dim lDrives As Long Dim x As Integer Dim sRetVal As String lDrives = GetLogicalDrives If lDrives > 0 Then For x = 0 To 24 If ((2 ^ x) And lDrives) > 0 Then If DriveType < 0 Then sRetVal = sRetVal & " " & Chr(65 + x) Else If GetDriveType(Chr(65 + x) & ":") = DriveType Then sRetVal = sRetVal & " " & Chr(65 + x) End If End If End If Next x If Len(sRetVal) > 1 Then sRetVal = Mid(sRetVal, 2) End If GetDriveList = sRetVal End Function
Sub test() zz = GetDriveList End Sub
@+ FxM
wrote:
bonjour, je sais pas si je pose la bonne question au bon endroit mais j'essaye quand
meme, voila:
je voudrais faire en sorte qu'un de mes fichiers excel ne soit lisible et
utilisable uniquement sur mon reseau local dans ma petite asso. De facon a
ce que mes membres ne "s'amuse pas" a l'embarqué chez eux.
je ne sais pas comment faire !
j'ai essayé avec des macros de ne pas faire afficher les menus , le menu contextuel, les "copier coller", la fonction enregistrer sous mais ces derniers peuvent toujours le copier et l'emmnener chez eux!
si quelqu'un a une idée, du genre: realiser une macro qui fait un ping sur
le serveur hebergeur et en fonction de la reponse forcer l'affichage d'une
couleur blanche pour les lettres et d'un fond blanc ce qui conjoitement avec l'absence de certaine fonctions comme le "copier coller" et des menus
rendrait le fichier excel inutilisable ailleurs qu'en presence du serveur
hebergeur.
comme je suis une brel en programmation je sollicite humblement votre aide
merci de m'avoir repondu
peux tu me donner plus d'explications quand aux fonctions fournies ?
"prcq j'y comprends rien...."
"FxM" <fxmanceaux@chello.fr> a écrit dans le message news:
#aCI1fRuDHA.1872@TK2MSFTNGP09.phx.gbl...
Bonsoir,
Tu peux t'inspirer des fonction suivantes pour lister les lecteurs,
déterminer le type de lecteur ou leur numéro de série.
'===== > Function DriveSerialNumber(Lecteur)
Dim fso, d
Set fso = CreateObject("Scripting.FileSystemObject")
Set d = fso.GetDrive(fso.GetDriveName _
(fso.GetAbsolutePathName(Lecteur & ":")))
DriveSerialNumber = d.SerialNumber
End Function
MsgBox DriveSerialNumber("C")
(Merci FS)
'===== > Private Declare Function GetLogicalDrives Lib "kernel32" () As Long
Private Declare Function GetDriveType Lib "kernel32" Alias
"GetDriveTypeA" (ByVal nDrive As String) As Long
Public Function GetDriveList(Optional DriveType As DriveType = -1) As
String
Dim lDrives As Long
Dim x As Integer
Dim sRetVal As String
lDrives = GetLogicalDrives
If lDrives > 0 Then
For x = 0 To 24
If ((2 ^ x) And lDrives) > 0 Then
If DriveType < 0 Then
sRetVal = sRetVal & " " & Chr(65 + x)
Else
If GetDriveType(Chr(65 + x) & ":") = DriveType Then
sRetVal = sRetVal & " " & Chr(65 + x)
End If
End If
End If
Next x
If Len(sRetVal) > 1 Then sRetVal = Mid(sRetVal, 2)
End If
GetDriveList = sRetVal
End Function
Sub test()
zz = GetDriveList
End Sub
@+
FxM
fredericrenaudin@csopmi.dyndns.org wrote:
bonjour,
je sais pas si je pose la bonne question au bon endroit mais j'essaye
quand
meme, voila:
je voudrais faire en sorte qu'un de mes fichiers excel ne soit lisible
et
utilisable uniquement sur mon reseau local dans ma petite asso. De facon
a
ce que mes membres ne "s'amuse pas" a l'embarqué chez eux.
je ne sais pas comment faire !
j'ai essayé avec des macros de ne pas faire afficher les menus , le menu
contextuel, les "copier coller", la fonction enregistrer sous mais ces
derniers peuvent toujours le copier et l'emmnener chez eux!
si quelqu'un a une idée, du genre: realiser une macro qui fait un ping
sur
le serveur hebergeur et en fonction de la reponse forcer l'affichage
d'une
couleur blanche pour les lettres et d'un fond blanc ce qui conjoitement
avec l'absence de certaine fonctions comme le "copier coller" et des
menus
rendrait le fichier excel inutilisable ailleurs qu'en presence du
serveur
hebergeur.
comme je suis une brel en programmation je sollicite humblement votre
aide
merci de m'avoir repondu peux tu me donner plus d'explications quand aux fonctions fournies ? "prcq j'y comprends rien...."
"FxM" a écrit dans le message news: #
Bonsoir,
Tu peux t'inspirer des fonction suivantes pour lister les lecteurs, déterminer le type de lecteur ou leur numéro de série.
'===== > Function DriveSerialNumber(Lecteur) Dim fso, d Set fso = CreateObject("Scripting.FileSystemObject") Set d = fso.GetDrive(fso.GetDriveName _ (fso.GetAbsolutePathName(Lecteur & ":"))) DriveSerialNumber = d.SerialNumber End Function MsgBox DriveSerialNumber("C") (Merci FS)
'===== > Private Declare Function GetLogicalDrives Lib "kernel32" () As Long Private Declare Function GetDriveType Lib "kernel32" Alias "GetDriveTypeA" (ByVal nDrive As String) As Long
Public Function GetDriveList(Optional DriveType As DriveType = -1) As String Dim lDrives As Long Dim x As Integer Dim sRetVal As String lDrives = GetLogicalDrives If lDrives > 0 Then For x = 0 To 24 If ((2 ^ x) And lDrives) > 0 Then If DriveType < 0 Then sRetVal = sRetVal & " " & Chr(65 + x) Else If GetDriveType(Chr(65 + x) & ":") = DriveType Then sRetVal = sRetVal & " " & Chr(65 + x) End If End If End If Next x If Len(sRetVal) > 1 Then sRetVal = Mid(sRetVal, 2) End If GetDriveList = sRetVal End Function
Sub test() zz = GetDriveList End Sub
@+ FxM
wrote:
bonjour, je sais pas si je pose la bonne question au bon endroit mais j'essaye quand
meme, voila:
je voudrais faire en sorte qu'un de mes fichiers excel ne soit lisible et
utilisable uniquement sur mon reseau local dans ma petite asso. De facon a
ce que mes membres ne "s'amuse pas" a l'embarqué chez eux.
je ne sais pas comment faire !
j'ai essayé avec des macros de ne pas faire afficher les menus , le menu contextuel, les "copier coller", la fonction enregistrer sous mais ces derniers peuvent toujours le copier et l'emmnener chez eux!
si quelqu'un a une idée, du genre: realiser une macro qui fait un ping sur
le serveur hebergeur et en fonction de la reponse forcer l'affichage d'une
couleur blanche pour les lettres et d'un fond blanc ce qui conjoitement avec l'absence de certaine fonctions comme le "copier coller" et des menus
rendrait le fichier excel inutilisable ailleurs qu'en presence du serveur
hebergeur.
comme je suis une brel en programmation je sollicite humblement votre aide
Christian Herbé
donc sur le reseau local me semblerait plus judicieux 2) c un prg de calcul donc les utilisateurs ont besoins des fonctionnalités excel (notamment les formules de calculs)(bis)
colle le code suivant dans "Thisworbook" et protège les macros des regards indiscrets
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean) mdp1 = "abc" mdp2 = InputBox("entrez le mot de passe : ") If mdp2 <> mdp1 Then MsgBox "Vous n'avez pas le droit d'emporter ce fichier" Application.DisplayAlerts = False ActiveWorkbook.Close End If End Sub
donc sur le reseau local me semblerait plus judicieux
2) c un prg de calcul donc les utilisateurs ont besoins des fonctionnalités
excel (notamment les formules de calculs)(bis)
colle le code suivant dans "Thisworbook" et protège les macros des
regards indiscrets
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As
Boolean)
mdp1 = "abc"
mdp2 = InputBox("entrez le mot de passe : ")
If mdp2 <> mdp1 Then
MsgBox "Vous n'avez pas le droit d'emporter ce fichier"
Application.DisplayAlerts = False
ActiveWorkbook.Close
End If
End Sub
donc sur le reseau local me semblerait plus judicieux 2) c un prg de calcul donc les utilisateurs ont besoins des fonctionnalités excel (notamment les formules de calculs)(bis)
colle le code suivant dans "Thisworbook" et protège les macros des regards indiscrets
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean) mdp1 = "abc" mdp2 = InputBox("entrez le mot de passe : ") If mdp2 <> mdp1 Then MsgBox "Vous n'avez pas le droit d'emporter ce fichier" Application.DisplayAlerts = False ActiveWorkbook.Close End If End Sub
FxM
Bonsoir,
Tu as bien fait de poser la question car en faisant l'essai, je découvre que le type de lecteur est également disponible dans la variable d de la première fonction. On peut donc simplifier un gros peu ;o)
D'abord, tu as une macro bête pour obtenir le numéro de série et le type de lecteur où est placé ton fichier.
Pour écrire les macros : Alt-F11 et double-clic gauche sur Thisworkbook. Copies-y ce qui suit :
Sub decouvre() Dim fso, d Set fso = CreateObject("Scripting.FileSystemObject") Set d = fso.GetDrive(fso.GetDriveName _ (fso.GetAbsolutePathName(Lecteur & ":"))) Lecteur = Left(ActiveWorkbook.Path, 1) zz = d.SerialNumber yy = d.Drivetype Stop End Sub
Effectue cette macro en mode pas-à-pas (par pression sur F8) et note bien les valeurs des variables Lecteur, zz et yy car tu vas en avoir besoin pour les inscrire dans la macro qui suit :
Private Sub Workbook_Open() Dim fso, d Lecteur = Left(ActiveWorkbook.Path, 1) Set fso = CreateObject("Scripting.FileSystemObject") Set d = fso.GetDrive(fso.GetDriveName _ (fso.GetAbsolutePathName(Lecteur & ":"))) If (d.SerialNumber <> 1039198825) Or _ (d.Drivetype <> 2) or _ Lecteur <> "D" Then MsgBox "Vous n'êtes pas autorisé à utiliser le fichier hors réseau" ActiveWorkbook.Close False End If End Sub
La ligne importante est : If (d.SerialNumber <> 1039198825) Or _ 'n° de série (d.Drivetype <> 2) or _ 'type de lecteur Lecteur <> "D" Then 'lettre de lecteur Les valeurs indiquées sont celles de mon disque local D: (type 2) Inutile de te dire que tu dois adapter sinon tu ne pourras l'ouvrir que sur mon disque ;o) Si le disque n'est pas D ou s'il n'est pas un lecteur fixe ou si le n° n'est pas celui indiqué, message et sortie sans sauvegarder.
Une fois les valeurs notées et le fichier débuggé, tu pourras supprimer la macro decouvre().
Cette protection reste toutefois tres facile à contourner :o|
@+ FxM
Bonsoir,
Tu as bien fait de poser la question car en faisant l'essai, je
découvre que le type de lecteur est également disponible dans la
variable d de la première fonction. On peut donc simplifier un gros
peu ;o)
D'abord, tu as une macro bête pour obtenir le numéro de série et le
type de lecteur où est placé ton fichier.
Pour écrire les macros : Alt-F11 et double-clic gauche sur
Thisworkbook. Copies-y ce qui suit :
Sub decouvre()
Dim fso, d
Set fso = CreateObject("Scripting.FileSystemObject")
Set d = fso.GetDrive(fso.GetDriveName _
(fso.GetAbsolutePathName(Lecteur & ":")))
Lecteur = Left(ActiveWorkbook.Path, 1)
zz = d.SerialNumber
yy = d.Drivetype
Stop
End Sub
Effectue cette macro en mode pas-à-pas (par pression sur F8) et note
bien les valeurs des variables Lecteur, zz et yy car tu vas en avoir
besoin pour les inscrire dans la macro qui suit :
Private Sub Workbook_Open()
Dim fso, d
Lecteur = Left(ActiveWorkbook.Path, 1)
Set fso = CreateObject("Scripting.FileSystemObject")
Set d = fso.GetDrive(fso.GetDriveName _
(fso.GetAbsolutePathName(Lecteur & ":")))
If (d.SerialNumber <> 1039198825) Or _
(d.Drivetype <> 2) or _
Lecteur <> "D" Then
MsgBox "Vous n'êtes pas autorisé à utiliser le fichier hors réseau"
ActiveWorkbook.Close False
End If
End Sub
La ligne importante est :
If (d.SerialNumber <> 1039198825) Or _ 'n° de série
(d.Drivetype <> 2) or _ 'type de lecteur
Lecteur <> "D" Then 'lettre de lecteur
Les valeurs indiquées sont celles de mon disque local D: (type 2)
Inutile de te dire que tu dois adapter sinon tu ne pourras l'ouvrir
que sur mon disque ;o)
Si le disque n'est pas D ou s'il n'est pas un lecteur fixe ou si le n°
n'est pas celui indiqué, message et sortie sans sauvegarder.
Une fois les valeurs notées et le fichier débuggé, tu pourras
supprimer la macro decouvre().
Cette protection reste toutefois tres facile à contourner :o|
Tu as bien fait de poser la question car en faisant l'essai, je découvre que le type de lecteur est également disponible dans la variable d de la première fonction. On peut donc simplifier un gros peu ;o)
D'abord, tu as une macro bête pour obtenir le numéro de série et le type de lecteur où est placé ton fichier.
Pour écrire les macros : Alt-F11 et double-clic gauche sur Thisworkbook. Copies-y ce qui suit :
Sub decouvre() Dim fso, d Set fso = CreateObject("Scripting.FileSystemObject") Set d = fso.GetDrive(fso.GetDriveName _ (fso.GetAbsolutePathName(Lecteur & ":"))) Lecteur = Left(ActiveWorkbook.Path, 1) zz = d.SerialNumber yy = d.Drivetype Stop End Sub
Effectue cette macro en mode pas-à-pas (par pression sur F8) et note bien les valeurs des variables Lecteur, zz et yy car tu vas en avoir besoin pour les inscrire dans la macro qui suit :
Private Sub Workbook_Open() Dim fso, d Lecteur = Left(ActiveWorkbook.Path, 1) Set fso = CreateObject("Scripting.FileSystemObject") Set d = fso.GetDrive(fso.GetDriveName _ (fso.GetAbsolutePathName(Lecteur & ":"))) If (d.SerialNumber <> 1039198825) Or _ (d.Drivetype <> 2) or _ Lecteur <> "D" Then MsgBox "Vous n'êtes pas autorisé à utiliser le fichier hors réseau" ActiveWorkbook.Close False End If End Sub
La ligne importante est : If (d.SerialNumber <> 1039198825) Or _ 'n° de série (d.Drivetype <> 2) or _ 'type de lecteur Lecteur <> "D" Then 'lettre de lecteur Les valeurs indiquées sont celles de mon disque local D: (type 2) Inutile de te dire que tu dois adapter sinon tu ne pourras l'ouvrir que sur mon disque ;o) Si le disque n'est pas D ou s'il n'est pas un lecteur fixe ou si le n° n'est pas celui indiqué, message et sortie sans sauvegarder.
Une fois les valeurs notées et le fichier débuggé, tu pourras supprimer la macro decouvre().
Cette protection reste toutefois tres facile à contourner :o|