cs_faucheuse
Messages postés308Date d'inscriptionjeudi 10 janvier 2008StatutMembreDernière intervention27 octobre 2011
-
9 avril 2008 à 15:55
cs_faucheuse
Messages postés308Date d'inscriptionjeudi 10 janvier 2008StatutMembreDernière intervention27 octobre 2011
-
10 avril 2008 à 14:53
Bonjour ami(e)s programeurs et programmeuzes,
Pour faire fonctionner mes macros sur un ordinateur non configuré, je doit desactiver une fonction depuis l'outil de developpement VBA dans Option->references.
Le probleme c'est que mes macros vont etre securisé et les personnes qui voudront les utilisées ne pourront pas sans desactiver cette fonction.
Existe il un moyen pour le décocher? par un fichier BAT par exemple, ou avec une ligne de code VBA?
bigfish_le vrai
Messages postés1835Date d'inscriptionvendredi 13 mai 2005StatutMembreDernière intervention20 novembre 201314 9 avril 2008 à 16:22
Salut,
Il existe plusieur methode. je te donne une methode que j'utilise, la premiere partie active la reference, la deuxieme partie enregistre dans un fichier text ce qui c'est passé, ce qui permet de savoir si des utilisateurs on ouvert le fichier sans accepter l'activation de la reference. Pour cette methode tu doit connaitre le chemin de la reference, son nom et son extention
Sub ActiveRef() 'activation of the reference *Microsoft Visual Basic for Applications Extensibility 5.3*
Dim MyRef As String, RefPath As String, TypeError As String
RefPath = "C:\Program Files\Common Files\Microsoft Shared\VBA\VBA6"
MyRef = "Vbe6ext.olb"
MyRef = Dir(RefPath & MyRef) 'ici on verifi l'existance de la reference
If MyRef <> "" Then
Application.DisplayAlerts = False
On Local Error Resume Next
ThisWorkbook.VBProject.References.AddFromFile RefPath & MyRef
If Err = 1004 Then
Err.Clear
TypeError = " The Reference could not be added "
MsgBox TypeError & " or the Trust access to Visual Basic Project is disable or both !" _
& vbCrLf & vbCrLf & "In order to allow the activation of the references, follow the process below :" & vbCrLf _
& vbCrLf & "Point to Macro on the Tools menu, and then click Security." _
& vbCrLf & "On the Trusted Publishers tab, check the Trust access to Visual Basic Project box. " _
& vbCrLf & vbCrLf & "For more information please contact your administrator", vbExclamation, "Reference Missing..."
TypeError = " The Reference could not be added "
Else
TypeError = " **Reference Activated** "
End If
Application.DisplayAlerts = True
Else
TypeError = " Reference not found "
End If
Application.DisplayAlerts = False
RecError (TypeError)
End Sub
Sub RecError(ByVal TypeError As String) 'error report
Dim CMDAppli As Double, CurrentPath As String, ErrorFile As String, MsgError As String, NbSub As Long
CurrentPath = ThisWorkbook.Path & "" 'ici tu dois definir l'emplacement du fichier error.txt pour moi c'est une zone reseau non modifiable
ErrorFile = "Error.txt"
MsgError = Now & TypeError & ThisWorkbook.Name 'pour moi le nom du fichier contient le nom de l'utilisateur ce qui me permet de pister completement
CMDAppli = Shell("cmd.exe /c echo " & MsgError & " >> " & ErrorFile, 0)
End
End Sub
Pour plus d'info ou pour d'autre methodes (2 autres il me semble) tu peux aller voir ici(puis editeur de code, modules, projet) et la.
cs_faucheuse
Messages postés308Date d'inscriptionjeudi 10 janvier 2008StatutMembreDernière intervention27 octobre 2011 9 avril 2008 à 16:10
Bin ouais mais ca ca va me posé un serieu gros gros gros probleme, va ptete du coup falloir que je me deplace jusque dans le sud de la france pour desactiver ca T_T (j'habite dans le nord), c'est pas supprimable dans le dossier de Excel sur le disque dur? (je regarde en meme temps ^^)
cs_faucheuse
Messages postés308Date d'inscriptionjeudi 10 janvier 2008StatutMembreDernière intervention27 octobre 2011 9 avril 2008 à 16:29
Omg, je pensais que c'etait pas commun comme manip', qu'il faudrait farfouiller et tout et tout...bin non la colle du mois se transforme en colle de 20 minutes.
C'est pile ce qu'il me fallait, merci beaucoup tout plein BigFish.
Vous n’avez pas trouvé la réponse que vous recherchez ?
bigfish_le vrai
Messages postés1835Date d'inscriptionvendredi 13 mai 2005StatutMembreDernière intervention20 novembre 201314 9 avril 2008 à 16:30
...
ouais ! cela ne repond pas directement a ta question vu que tu veux desactivé une reference mais il y a tout ce dont tu as besoin notament via les liens que je t'ai donné.
cs_faucheuse
Messages postés308Date d'inscriptionjeudi 10 janvier 2008StatutMembreDernière intervention27 octobre 2011 10 avril 2008 à 10:06
J'ai trouvé que si on mettait un chiffre à la place de "word" ca retirait la reference correspondante dans la liste, le probleme c'est si la reference est spas a la meme place.
Ya pas un moyen de plutot rentré le chemin d'accés? j'ai essayer en m'inspirant du code servant a cocher une reference mais ya des problemes de blocs with.
cs_faucheuse
Messages postés308Date d'inscriptionjeudi 10 janvier 2008StatutMembreDernière intervention27 octobre 2011 10 avril 2008 à 13:44
excuse moi, tu pourrais expliquer ton code stp, par ce que si je traduis de l'anglais au francais ca donne : Pour chaque Référence du projet, afficher un msgbox. Mais de vba au francais ? XD