comment limiter l'utilisation d'une appli excel sur un seul pc

pascal21

XLDnaute Barbatruc
bonsoir à tous
j'ai passé une grosse partie de mon temps libre ces derniers temps à réaliser grâce à votre aide une application sous excel pour un collègue
cet après midi, je reçois au bureau un coup de fil d'un collègue d'une autre agence qui m'apprend qu'il est coincé avec le logiciel et qu'il souhaiterais une action supplémentaire
je lui réponds que je n'aurai pas le temps ni l'envie de toucher à cette appli.
et qu'il n'était pas prévu que ça circule dans la société bref!!!!! je ne suis pas content, je n'ai pas envie de passer mon temps à rectifier des buggs,des erreurs de manipdu genre formules effacées ou autre drôleries
à l'avenir j'aimerais bloquer les appli. à l'utilisation d'un seul et même pc
je sais bien que si quelqu'un qui connait un peu excel mets le nez dans les macros il lui sera facile de contourner le 'bridage'
partant du principe que quelqu'un qui connait excel se fera sa propre appli., le risque est minime
donc qu'elle est l'astuce qui permet de limiter l'utilisation à un seul pc et est-ce seulement possible avec excel?
merci
 

pascal21

XLDnaute Barbatruc
Re : comment limiter l'utilisation d'une appli excel sur un seul pc

il y a un truc que je viens de tester
j'ai créer un classeur que j'ai appelé "classeur caché" j'y ai mis un mot de passe je le ferme
sur le classeur de travail, à l'ouverture du classeur je mets un usf
avec un textbox et un bouton
code du bouton
PHP:
If TextBox1.Value <> Workbooks("classeur caché").Sheets("feuil1").Range("a1").Value Then "fermeture du classeur " ou autre chose qui n'autorise pas la poursuite du travail avec les macros/PHP]
ça fonctionne que si "classeur caché" est ouvert
comment contourner le truc sans que l'on s'aperçoive que ça fait appel à un 2eme classeur
 

Etienne2323

XLDnaute Impliqué
Re : comment limiter l'utilisation d'une appli excel sur un seul pc

Salut pascal21, le fil,
voici peut-être une autre solution.

Voici trois options pour identifier. Je metterais ça dans un workbook_open
en faisant une petite condition avec le PC que vous voulez.

Vous identifiez le PC que vous voulez puis vous conserver ses infos dans des constantes. Ensuite, à chaque ouverture, vous testez pour voir si ce sont les mêmes infos !

Code:
Mon_Domaine = CreateObject("WScript.Network").UserDomain
Code:
Mon_Nom_PC= CreateObject("WScript.Network").ComputerName
Code:
Mon_UserName= CreateObject("WScript.Network").UserName

Au plaisir,

Étienne
 

pascal21

XLDnaute Barbatruc
Re : comment limiter l'utilisation d'une appli excel sur un seul pc

merci pour votre aide
je vais tester
mais j'ai essayé ça et ça fonctionne
le classeur caché s'ouvre et se ferme instantanément
PHP:
Workbooks.Open Filename:= _
        "C:\Documents and Settings\pascal\Mes documents\classeur caché.xls"
If TextBox1.Value = Workbooks("classeur caché").Sheets("feuil1").Range("a1").Value Then
 Unload UserForm1
 UserForm2.Show 0
 End If
 Workbooks("classeur caché").Close
faut juste que la personne n'est pas l'idée de faire le ménage dans son pc quoi que en cachant bien dans le répertoire 'windows' par exemple
que faudrait'il rajouter pour éviter un message d'erreur quand ça ne trouve pas le 'classeur caché'
d'ailleurs dans ce cas j'imagine bien un message du genre 'vous n'êtes pas autorisé à vous servir de cette application"
carcharon est-ce qu'un pc qui n'est pas connecté à internet à un adresse IP?
il y a bien autrement le numéro de licence du pc mais pour aller puiser l'info c'est pas gagner


re edit
carcharon ça me met que le contrôle active x ne peut pas créer l'objet (?????????!!!!!):eek:
 
Dernière édition:

Staple1600

XLDnaute Barbatruc
Re : comment limiter l'utilisation d'une appli excel sur un seul pc

Bonsoir tout le monde

En mettant le nez dans la machine, aussi , peut-être

Code:
Sub ListeDD_NS() [COLOR=DarkGreen]' test ok sur Excel 2010[/COLOR]
[COLOR=DarkGreen]'Déclarations[/COLOR]
Const sHD$ = "Win32_LogicalDisk"
Const sPrm$ = "winmgmts:{impersonationLevel=impersonate}"
Dim Liste, M_ess, Obj

On Local Error Resume Next
Set Liste = GetObject(sPrm).InstancesOf(sHD)
  
For Each Obj In Liste
    M_ess = M_ess & "Numero série HD: " & Obj.VolumeSerialNumber & vbCrLf
Next

MsgBox M_ess, vbInformation, "RESULTATS"
End Sub
PS: Pensez à cocher la référence adéquate dans VBE
(Je ne la nomme pas volontairement)

PS: je rappelle qu'il suffit d'ouvrir un classeur protégé sans activer les macros
pour rendre tout code VBA de protection inopérant ....

 
Dernière édition:

kjin

XLDnaute Barbatruc
Re : comment limiter l'utilisation d'une appli excel sur un seul pc

Bonsoir, re,
Et pourquoi pas simplement
Code:
Private Sub Workbook_Open()
If Environ("computername") <> "LA-BETAPASCAL" Then ThisWorkbook.Close False
End Sub
A+
kjin
 

pascal21

XLDnaute Barbatruc
Re : comment limiter l'utilisation d'une appli excel sur un seul pc

PS: je rappelle qu'il suffit d'ouvrir un classeur protégé sans activer les macros
pour rendre tout code VBA de protection inopérant ....
bonsoir sapple
je suis d'accord mais un classeur prévu pour fonctionner avec des macros pour les calculs qui ne fonctionne pas, l'interet sera vite limité, pour des utiliisateurs lambdas bien sur
je vais tester ta solution pour voir si ça fonctionne sur excel 2003
au fait il est bien ce 2010 encore pas eu l'occasion de le voir
j'ai bien le 2007 au boulot mais je ne m'en sert pas, j'aime pô je dis pas qu'il est pas bien mais je ne trouve jamais les fonctions que j'ai besoin
heu!! il va chercher quoi comme info ton code stapple
kjin l'idée est toute simple et tout bete, trop simple même y a surement un truc qui va pas aller: je teste demain là je vais au lit
 
Dernière édition:

Staple1600

XLDnaute Barbatruc
Re : comment limiter l'utilisation d'une appli excel sur un seul pc

Re

pascal21
Le code affiche les numéros de série des HD présents sur le PC.

Ensuite à toi de l'implémenter dans le reste de ton code VBA.

PS: HD = Hard Disk et DD = Disque Dur

EDITION: Bonsoir sieur Kjin
 

kjin

XLDnaute Barbatruc
Re : comment limiter l'utilisation d'une appli excel sur un seul pc

Re, bonsoir Sieur Staple,
kjin l'idée est toute simple et tout bete, trop simple même y a surement un truc qui va pas aller...
Pour sûr, si tu testes avec "LA-BETAPASCAL"...:D
Dans le menu systeme de OUINDOZ, récupère le nom complet de la bécane, sinon sous excel
Code:
Msgbox Environ("computername")
A+
kjin
 

kjin

XLDnaute Barbatruc
Re : comment limiter l'utilisation d'une appli excel sur un seul pc

Bonjour,
Basique...mais ça évite de se déplacer !
Crée une nouvelle feuille cachée à la première ouverture et y inscrit le N° de la bécane, puis teste le N° les fois suivantes
Code:
Private Sub Workbook_Open()
Dim ws As Worksheet
On Error Resume Next
Set ws = Sheets("Becane")
On Error GoTo 0
If ws Is Nothing Then
    Sheets.Add
    With ActiveSheet
        .Name = "becane"
        .Range("A1") = Environ("computername")
        .Visible = xlVeryHidden
    End With
    ActiveWorkbook.Save
Else
    If Sheets("Becane").Range("A1") <> Environ("computername") Then
    ActiveWorkbook.Close False
    End If
End If
End Sub
A+
kjin
 

pascal21

XLDnaute Barbatruc
Re : comment limiter l'utilisation d'une appli excel sur un seul pc

bonsoir
si je comprends bien le code
si la feuille "becane n'existe pas alors la créer puis inscrire le nom de l'ordinateur dans a1
ensuite comparer
si la feuille existe déja alors comparer
si <> fermer le classeur
comme tu dis "basique mais évite de se déplacer"
c'est nickel !! comme ça, plus besoin de fouiller dans le pc du collègue
on peut l'envoyer par mail
merci

edit du 27/11/10 très efficace, je vais le mettre à toutes les sauces ce bout de code
merci
 
Dernière édition:

Discussions similaires

Statistiques des forums

Discussions
312 755
Messages
2 091 711
Membres
105 054
dernier inscrit
uzaoui