Précédent   Forum des professionnels en informatique > Logiciels > Microsoft Office > Access > Sécurité
Sécurité Le forum qui s'occupe de votre préoccupation de sécuriser l'accès à votre application Access, ainsi qu'à la sécurité des données.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 22/07/2006, 16h53   #1
Invité de passage
 
Inscription : juillet 2006
Messages : 5
Détails du profil
Informations forums :
Inscription : juillet 2006
Messages : 5
Points : 3
Points : 3
Par défaut Lier (attacher) une série de fichiers Excel protégés

Je dois mensuellement lancer une fonction qui lie (attache) une série de 180 à 450 fichiers Excel dans une base Access.

Ces fichiers Excel sont déposés sur un serveur par de nombreux utilisateurs à qui on demande de saisir des zones bien particulières. Pour cette raison, tous ces fichiers sont protégés (classeur et feuilles) par un seul et même mot de passe (que je connais).

Je pourrais bien entendu ouvrir chacun de ces fichiers avec du code VB en utilisant le mot de passe mais cela me semble lourd et inutile puisque je souhaite simplement charger certaines zones de ces fichiers dans des tables pour une exploitation de consolidation.

Mon problème : Access refuse d'attacher ou d'importer des fichiers Excel protégés !

PS - j'ai positionné mes options de sécurité en niveau faible tant dans Access que dans Excel.
yboutin est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/07/2006, 18h31   #2
pgz
Expert Confirmé Sénior
 
Avatar de pgz
 
Homme Pierre GONZALEZ
Développeur Office VBA
Inscription : août 2005
Messages : 3 412
Détails du profil
Informations personnelles :
Nom : Homme Pierre GONZALEZ
Âge : 58
Localisation : France

Informations professionnelles :
Activité : Développeur Office VBA
Secteur : Conseil

Informations forums :
Inscription : août 2005
Messages : 3 412
Points : 5 934
Points : 5 934
Bonjour,

Juste une idée :
rédiger une procédure qui fait une copie non protégée des classeurs, et lier les tables aux classeurs non protégés.

Bon courage,

pgz
__________________
pluritas non est ponenda sine necessitate - Le rasoir d'Okham
Ne jamais attribuer à la malignité ce que la stupidité peut expliquer -Le rasoir d'Hanlon
pgz est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/07/2006, 12h11   #3
Invité de passage
 
Inscription : juillet 2006
Messages : 5
Détails du profil
Informations forums :
Inscription : juillet 2006
Messages : 5
Points : 3
Points : 3
Merci pour votre suggestion,

J'ai envisagé cette solution mais je trouve cela un peu navrant que MS nous coince sur un détail.

Sauf erreur de ma part, si j'opte pour cette solution, ma procédure devra :
  1. ouvrir chaque classeur
  2. ôter la protection
  3. l'enregistrer sous mon répertoire de travail
  4. créer le lien
  5. extraire les données qui me sont utiles
  6. supprimer le lien
  7. supprimer le classeur
S'il existe une solution qui m'évite l'étape 1 (ouvrir classeur) et qui me permette malgré tout d'ôter la protection, je suis preneur.

Merci encore.
yboutin est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/07/2006, 12h44   #4
pgz
Expert Confirmé Sénior
 
Avatar de pgz
 
Homme Pierre GONZALEZ
Développeur Office VBA
Inscription : août 2005
Messages : 3 412
Détails du profil
Informations personnelles :
Nom : Homme Pierre GONZALEZ
Âge : 58
Localisation : France

Informations professionnelles :
Activité : Développeur Office VBA
Secteur : Conseil

Informations forums :
Inscription : août 2005
Messages : 3 412
Points : 5 934
Points : 5 934
Bonjour,

Citation:
S'il existe une solution qui m'évite l'étape 1 (ouvrir classeur) et qui me permette malgré tout d'ôter la protection, je suis preneur.
Pour ma part, je n'en connais pas.

pgz
__________________
pluritas non est ponenda sine necessitate - Le rasoir d'Okham
Ne jamais attribuer à la malignité ce que la stupidité peut expliquer -Le rasoir d'Hanlon
pgz est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/07/2006, 13h45   #5
Invité de passage
 
Inscription : juillet 2006
Messages : 5
Détails du profil
Informations forums :
Inscription : juillet 2006
Messages : 5
Points : 3
Points : 3
Merci tout de même et bon dimanche.
yboutin est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/05/2007, 10h24   #6
Candidat au titre de Membre du Club
 
Inscription : mars 2005
Messages : 32
Détails du profil
Informations forums :
Inscription : mars 2005
Messages : 32
Points : 11
Points : 11
Par défaut Réponse tardive Import données excel fichiers protégés

Un peu tardif mais cela peut aider quelqu'un qui cherche.
Voici de quoi importer des données de fichiers excel protégés
Il faut simplement avoir créé les tables de destination avant.

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
Sub import_excel(fichier_avec_chemin As String, lafeuille As String, tabledestination As String, nbchamps As Integer)
 
Dim Plage As Range
Dim Tableau1 As Variant
Dim x As Long, i As Long
Dim Rs1 As Recordset
Dim appexcel As Excel.Application
Dim wbexcel As Excel.Workbook
Set appexcel = CreateObject("Excel.Application")
appexcel.Visible = False
Set wbexcel = appexcel.Workbooks.Open(fichier_avec_chemin, ReadOnly:=True, Password:="VOTREMOTDEPASSE")
CurrentDb.Execute ("delete * from " & tabledestination)
Set Rs1 = CurrentDb.OpenRecordset(tabledestination, 2)
Set Plage = wbexcel.Worksheets(lafeuille).Range("A1").CurrentRegion.Offset(1, 0)
Set Plage = Plage.Resize(Plage.Rows.Count - 1, Plage.Columns.Count)
Plage.Select
Tableau1 = Plage.Value
For x = 1 To UBound(Tableau1, 1)
With Rs1
.AddNew
For i = 0 To nbchamps
.Fields(i) = Tableau1(x, i + 1)
Next i
.Update
End With
Next
appexcel.DisplayAlerts = False
wbexcel.Saved = True
wbexcel.Close (False)
appexcel.Quit
Set wbexcel = Nothing
Set appexcel = Nothing
 
 
End Sub
kilimanjaro est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 14/10/2009, 23h12   #7
Invité régulier
 
Inscription : octobre 2008
Messages : 14
Détails du profil
Informations forums :
Inscription : octobre 2008
Messages : 14
Points : 6
Points : 6
Citation:
Envoyé par kilimanjaro Voir le message
Un peu tardif mais cela peut aider quelqu'un qui cherche.
Voici de quoi importer des données de fichiers excel protégés
Il faut simplement avoir créé les tables de destination avant.

Sub import_excel(fichier_avec_chemin As String, lafeuille As String, tabledestination As String, nbchamps As Integer)

Dim Plage As Range
Dim Tableau1 As Variant
Dim x As Long, i As Long
Dim Rs1 As Recordset
Dim appexcel As Excel.Application
Dim wbexcel As Excel.Workbook
Set appexcel = CreateObject("Excel.Application")
appexcel.Visible = False
Set wbexcel = appexcel.Workbooks.Open(fichier_avec_chemin, ReadOnly:=True, Password:="VOTREMOTDEPASSE")
CurrentDb.Execute ("delete * from " & tabledestination)
Set Rs1 = CurrentDb.OpenRecordset(tabledestination, 2)
Set Plage = wbexcel.Worksheets(lafeuille).Range("A1").CurrentRegion.Offset(1, 0)
Set Plage = Plage.Resize(Plage.Rows.Count - 1, Plage.Columns.Count)
Plage.Select
Tableau1 = Plage.Value
For x = 1 To UBound(Tableau1, 1)
With Rs1
.AddNew
For i = 0 To nbchamps
.Fields(i) = Tableau1(x, i + 1)
Next i
.Update
End With
Next
appexcel.DisplayAlerts = False
wbexcel.Saved = True
wbexcel.Close (False)
appexcel.Quit
Set wbexcel = Nothing
Set appexcel = Nothing


End Sub
Et bien cela m'aide déjà bcp !
J'ai presque le même problème sauf que moi, je dois lier uniquement 2 fichiers Excel protégés ( fichiers qui sont partagés sur un serveur )
Et comme je débute en Access.
Je voudrais savoir que dois-je modifier aux lignes de code pour lier uniquement mes 2 fichiers Excel identifiés et protégés par un mot de passe ( R:\Table1.xls et R:\Table2.xls)

Où dois-je placer les lignes de code (dans mon menu général, je suppose mais où, comment et sous quelle forme ? )

Merci d'avance.
vortexlechien est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 11h33.


 
 
 
 
Partenaires

Hébergement Web