Bonjour à toutes et à tous, Tout d’abord je vous souhaite un très beau dimanche. Je me tourne à nouveau vers vous pour un problème que je n’arrive pas à résoudre malgré mes recherches et essais. Je travaille sur 2 ordinateurs à des heures différentes : La journée en horaires normaux, sur mon...
www.excel-downloads.com
Je l'ai adapté à mon besoin et il semble bien fonctionner :
VB:
Private Sub Workbook_Open()
[a1] = ""
If Environ("COMPUTERNAME") = "Usine à Gaz vieil Ado tjrs explosif" Then 'le nom de l'ordinateur
'MsgBox ("Bravo : C'est le bon ordi !")
[a1] = Environ("COMPUTERNAME")
Else
MsgBox ("NON : C'est pas le bon ordi !")
End If
End Sub
Dans l'esprit de partage de solution, je vous le livre, il vous sera peut-être utile.
Le code peut-être amélioré ?
Nos chers ténors nous le diront peut-être ?
Je joins le fichiers test.
Re-Bonjour,
J'ai quand même une question pour nos ténors :
Pour le fichier test, j'ai mis : "[a1] = Environ("COMPUTERNAME")" Toutefois,, pour que celui qui ouvre le classeur ne le voit pas, ce serait super le nom de l'ordinateur n'apparaisse pas dans le code, n'y ailleurs
Est-ce possible ?
Bonjour,
pour que le nom de l'ordi soit pas lisible, intègre une fonction de hashage MD5
ensuite compare le MD5 de ta lecture ordinateur à l'ouverture par rapport à la valeur MD5 que tu aurra mis en dur dans ton code à la palce du nom de ton ordi.
Option Explicit
Private Sub Workbook_Open()
Const chn As String * 14 = " le bon ordi !"
Dim PC$: PC = Environ("COMPUTERNAME")
If PC = "PC Lionel" Then
[A1] = PC: MsgBox "Bravo : C'est" & chn
Else
[A1] = Empty: MsgBox "NON : C'est pas" & chn
End If
End Sub
si ton sujet est résolu, marque mon post comme solution
envoie-moi de bonnes fraises à la crème chantilly !
Bonjour,
pour que le nom de l'ordi soit pas lisible, intègre une fonction de hashage MD5
ensuite compare le MD5 de ta lecture ordinateur à l'ouverture par rapport à la valeur MD5 que tu aurra mis en dur dans ton code à la palce du nom de ton ordi.
Option Explicit
Private Sub Workbook_Open()
Const chn As String * 14 = " le bon ordi !"
Dim PC$: PC = Environ("COMPUTERNAME")
If PC = "PC Lionel" Then
[A1] = PC: MsgBox "Bravo : C'est" & chn
Else
[A1] = Empty: MsgBox "NON : C'est pas" & chn
End If
End Sub
si ton sujet est résolu, marque mon post comme solution
envoie-moi des fraises avec de la bonne crème chantilly !
Bonjour soan et merci pour ton code
Effectivement, c'est bien plus "Pro" - Bravo.
Pour le fichier test, j'ai mis : "[a1] = Environ("COMPUTERNAME")" Toutefois,, pour que celui qui ouvre le classeur ne le voit pas, ce serait super le nom de l'ordinateur n'apparaisse pas dans le code, n'y ailleurs
Est-ce possible ?
Bonjour à tous !! Svp y a t-il moyen de rendre les cellules de la colonne A en MD5 en colonne B ? Par exemple en A : Bonjour En B : ebc58ab2cb4848d04ec23d83f7ddf985 En fait, j'en ai besoin pour coder 11.200 lignes... :s Merci pour votre aide
Pour le fichier test, j'ai mis : "[a1] = Environ("COMPUTERNAME")" Toutefois,, pour que celui qui ouvre le classeur ne le voit pas, ce serait super de pouvoir cacher le nom de l'ordinateur dans le code
Est-ce possible ?
1) déjà, commencer par ne pas afficher le nom du PC en [A1] !
➯ en cellule A1, ne rien afficher du tout !
2) pour que le nom ne soit pas visible dans le code VBA :
a) mettre un mot de passe sur ton projet VBA ; ainsi,
c'est tout ton code qui sera à l'abri des espions !
b) choisir un password crypté, et mettre un module de décryptage ;
je suis sûr que job75(salut) pourra te faire ça très bien !
code VBA (10 lignes) :
VB:
Option Explicit
Private Sub Workbook_Open()
Const chn As String * 14 = " le bon ordi !"
If Environ("COMPUTERNAME") = "PC Lionel" Then
MsgBox "Bravo : C'est" & chn
Else
MsgBox "NON : C'est pas" & chn
End If
End Sub
Autre possibilité met les noms des ordinateurs autorisés dans une feuille (ecrit en blanc sur blanc) ... feuille que tu masques et protèges intégralement avec MdP
1) déjà, commencer par ne pas afficher le nom du PC en [A1] !
➯ en cellule A1, ne rien afficher du tout !
2) pour que le nom ne soit pas visible dans le code VBA :
a) mettre un mot de passe sur ton projet VBA ; ainsi,
c'est tout ton code qui sera à l'abri des espions !
b) choisir un password crypté, et mettre un module de décryptage ;
je suis sûr que job75(salut) pourra te faire ça très bien !
code VBA (10 lignes) :
VB:
Option Explicit
Private Sub Workbook_Open()
Const chn As String * 14 = " le bon ordi !"
If Environ("COMPUTERNAME") = "PC Lionel" Then
MsgBox "Bravo : C'est" & chn
Else
MsgBox "NON : C'est pas" & chn
End If
End Sub
1) déjà, commencer par ne pas afficher le nom du PC en [A1] ! : J'ai affiché juste pour le test
➯ en cellule A1, ne rien afficher du tout !
2) pour que le nom ne soit pas visible dans le code VBA :
a) mettre un mot de passe sur ton projet VBA ; ainsi,
c'est tout ton code qui sera à l'abri des espions ! : je fais ça aussi
b) choisir un password crypté, et mettre un module de décryptage : je sais et je fais ça aussi
je suis sûr que @job75(salut) pourra te faire ça très bien !
Si le fichier est ouvert macros désactivées : tout ça ne sert à rien
Je me demandais si un autre moyen était possible ?
lionel
Obliger à activer VBA
Protège tout et masque tout sauf une feuille qui explique que VBA doit être activer.
et sur cette feuille un bouton qui permet de demaquer et déprotéger les feuilles utiles du classeur (et masquer celle d'accueil.
à la sauvegarde/fermeture ... tu fait l'inverse pour ne laisser visible que la feuille d'accueil
Obliger à activer VBA
Protège tout et masque tout sauf une feuille qui explique que VBA doit être activer.
et sur cette feuille un bouton qui permet de demaquer et déprotéger les feuilles utiles du classeur (et masquer celle d'accueil.
à la sauvegarde/fermeture ... tu fait l'inverse pour ne laisser visible que la feuille d'accueil