fichier ouvert à rendre inaccessible

Z

zeltron

Guest
Bonjour à tout le forum;

Voilà grâce à l'aide de Bricofire ( que je remercie encore au passage), j'ai 2 fichiers: un fichier 'appli' et un fichier 'BaseBDD'.
Le fichier 'BaseBDD' est protégé en lecture et en écriure. Lorsque le fichier 'appli' est ouvert, il ouvre automatiquement le fichier 'BaseBDD' ( et inversement lorsque l'on ferme le fichier 'appli',le fichier 'BaseBDD' se ferme').Cela permet qu'on ne puisse ouvrir directement le fichier 'BaseBDD' sans ouvrir le fichier 'appli'.
Je crée ce nouveau file car, ma demande ne concerne pas le même sujet,(dites le moi, si cela a été maladroit), et que n'ayant pas trouvé ce que je cherche sur le site, je pense que ce nouveau file sera utile.
Donc voilà le pb: une fois que les 2 fichiers sont ouverts ( le fichier 'appli' et le fichier 'BaseBDD'),j'aimerais qu'on ne puisse pas accéder au fichier 'BaseBDD' bien qu'il soit ouvert. Mon idée,serait que dès que le fichier 'BaseBDD' est sélectionné, il renvoit automatiquement sur la feuil1 (en A1 par ex.)du fichier 'appli'.
Ainsi, l'accès au fichier 'BaseBDD' ne sera jamais accessible à l'utilisateur ( mais restera ouvert ,ce qui est nécessaire au fonctionnement du fichier 'appli').

Je vous remercie par avance pour votre aide.

Nb:n'hésitez pas à me demander d'autres précisions, si je n'ai pas été clair!!!

Cordialement

Zeltron
 
Z

zeltron

Guest
Bonjour Charly2 et tout le forum,

Merci pour ton aide Charly2.Cependant,j'ai bien mis dans this Workbook du classeur 'BaseBDD' le code suivant:
Private Sub Workbook_Activate()
Windows('appli.xls').Activate
Range('A1').Select
End Sub

Cependant, il me met une erreur:
'Erreur d'execution '9'
L'indice n'appartient pas à la sélection'

J'ai essayé, plein de choses mais rien n'y fait. Pourtant avec l'enregistreur de macro, le code qu'il me donne est bien:

Windows('appli.xls').Activate
Range('A1').Select


La seule chose que je suis parvenu à faire c'est en mettant dans la feuil1 du classeur 'BaseBDD', le code suivant:

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Workbooks('appli.xls').Worksheets('feuil1').Activate
End Sub

Là il veut bien me renvoyer sur le classeur 'appli'.Mais cette solution n'est pas satisfaisante car là, l'utilisateur est obligé de cliquer sur une autre cellule afin d'etre renvoyé sur le claseur 'appli'.

Je n'arrive vraiment pas à trouver, quelqu'un a t il une idée? Charly2, ma demande est elle réalisable?

Par avance merci

Cordialement

Zeltron
 

Syntaxerror

XLDnaute Junior
Je suis avec beaucoup d'intérêt ce fil parce que je suis dans le même cas que toi :
J'utilise deux classeurs : un où il y'a l'application, l'autre (Data.xls) où on trouve les données auxquel l'application fait référence.
Pour l'instant je ne suis parvenu qu'à vérrouiller le classeur Data et à utiliser la couleur de police blanche pour rendre les données invisibles :eek: . Je sais c'est pas très pro mais on y travaille dur. :)

Message édité par: Syntaxerror, à: 17/01/2006 13:10
 

Bricofire

XLDnaute Impliqué
Bonjour Zeltron, Charly2 :)

Zeltron, que veux tu en simple ?

Qu'une fois le classeur BDD ouvert les gens ne puissent pas y modifier quoique ce soit ? où qu'ils ne puissent voir pas les données carrément ?
Il faut savoir aussi siton pb est d'empêcher les gens de fire des 'sottises' par inadvertance ou précipitation ou s'il s'agit de nuiseurs, s'ils sont au stade alpha, Ok sinon en éternuant à côté du micro, pour peu que les projections soient 'acyd' les mots de passe ne tiennen pas :)

Sinon si tu mets ça dans BDD, tu peux tester l'effet, à voir ce que tu veux faire ensuite
;)

Private Sub Workbook_Activate()

ActiveSheet.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True
End Sub


Bonne journée,

Brico
 

Bricofire

XLDnaute Impliqué
re à tous, :)

Syntaxerror, attention au fait que quand on selectionne une cellule euh invisible, on a son contenu dans la barre de formule....
Ce moyen est sympa pour des présentations ou des caches d'impressions particuliers, mais au niveau sécu....
La soluce viendra peut-être selon le désir final d'un VeryHidden alternatif ou du genre... ?

cordialement,

Brico
 

Charly2

Nous a quittés en 2006
Repose en paix
Bonjour zeltron, Syntaxerror et Bricofire :)

Effectivement, j'ai le même message, donc je suis passé par la méthode Activate de l'objet Workbook :

Option Explicit

Private Sub Workbook_Activate()
  On Error GoTo Ferme
  Workbooks('appli.xls').Activate
  On Error GoTo 0
  Exit Sub
Ferme:
  ActiveWorkbook.Close SaveChanges:=True
End Sub

A placer dans ThisWorkbook de BaseBDD (testé).

Cette procédure empêche d'activer BaseBDD en activant systématiquement 'appli', et si le classeur 'appli' est fermé, elle ferme aussi BaseBDD.

A+
 
Z

zeltron

Guest
Bonjour Marc du 78; Charly2, Bricofire,Syntaxe error et tout le Forum.

Je vous remercie du temps que vous avez accepté de passer sur mon problème.

Charly2, ta solution marche à merveille, c'est exactement ce que je cherchais à faire.

Encore merci à tous et longue vie à Excel Downloads!!

Cordialement

Zeltron
 

Discussions similaires

Réponses
2
Affichages
328

Statistiques des forums

Discussions
312 487
Messages
2 088 824
Membres
103 971
dernier inscrit
abdazee