Problème feuilles masquées

  • Initiateur de la discussion Roland
  • Date de début
R

Roland

Guest
Bonjour,

N'ayant pas eu de réponse à mon dernier post (intitulé 'import feuilles masquées'),
j'en déduis que celui-ci n'était pas très clair.
Je me permets donc de reformuler ma demande avec le code en exemple.
Voici une semaine, MichelXLd (sur ce forum) m'avait déjà aidé une première fois en me corrigeant mon code
afin d'importer plusieurs fichiers Excel dans une base Access.

Le code suivant lit sur un répertoire donné tous les fichiers Excel et
les importe dans une base access. Il importe plus particulièrement les onglets
'TestIndicateurs' et 'Transpose'. J'avais cependant oublié une contrainte lié à mon application:
Ces 2 onglets doivent être masqués. Et le code ici présent marche très bien lorsque les onglets sont visibles,
mais ne fonctionne pas lorsque je masque les onglets.
J'ai donc rajouter la procédure Sub 'ToutAfficher' (que j'appelle juste avant la lecture en rouge dansle code):
En utilisant le débugger pas à pas je passe bien dans l'onglet mais il me sort une erreur qui n'a aucun
rapport avec l'impossibilité de lire les feuilles masquées.

Voici le message d'erreur:
'Cette table contient des cellules hors de la plage de cellules définie dans cette feuille de calcul'

Hors je n'ai ajouté dans mon code que des informations pour rendre visible les feuilles, les plages définies
étant les même qu'auparavant. Après avoir regardé ce message dans l'aide de windows puis sur le net, j'en déduis que le programme
ne peut accéder à la feuille et sort donc un message d'erreur complètement incohérent.

J'ai posé la question la semaine dernière sur des forum access et aucune réponse.
En espérant toujours une réponse, je repose ici mon problème car je pense tout de même que mon pb est lié à Excel.
Si quelqu'un pouvait me trouver une solution intermédiaire (masquer puis démasquer dans excel:
c'est à dire masquer les feuilles pour l'utilisateur mais une fois fermé, le fichier se retrouve dans un état semblable
à un fichier avec des feuilles non masquées que j'arrive à lire
) ou aurait déjà eu ce genre de pb ou aurait une autre
solution, je lui en serait très reconnaissant de m'aider, car après avoir chercher longuement je ne comprends vraiment plus rien...

Voilà j'espère avoir été plus clair que la semaine dernière...

Merci à tous pour votre aide


Le code:

Sub ToutAfficher()

Dim ws As Worksheet
For Each ws In Worksheets
ws.Visible = True
Next
End Sub


Sub ImportAllFiles()
Dim strPathToFiles As String
Dim xlAppl As Excel.Application
Dim Wb As Excel.Workbook
Dim onglet As String
Dim ws As Excel.Worksheet
Dim Repertoire As String, Fichier As String

'Repertoire = 'C:\\Documents and Settings\\roland\\dossier\\'
Repertoire = 'C:\\Documents and Settings\\roland\\dossierOngletMasque\\'

Fichier = Dir(Repertoire & '*.xls')
Do While Fichier ‹› ''

Set xlAppl = CreateObject('Excel.Application')
strPathToFiles = Repertoire & Fichier

'Supprimer enreg table T_Import_Brut
DoCmd.RunSQL 'DELETE FROM TImport'
DoCmd.RunSQL 'DELETE FROM TImport2'

Set Wb = xlAppl.Workbooks.Open(FileName:=strPathToFiles, ReadOnly:=True)

Call ToutAfficher

For Each ws In Wb.Worksheets
If ws.Visible = True Then
onglet = ws.Name

If onglet = 'TestIndicateurs' Then

' transfert vers table T_Import_Brut
DoCmd.TransferSpreadsheet acImport, 8, 'TImport', strPathToFiles, False, onglet & '!H2:L201'

ElseIf onglet = 'Transpose' Then

' transfert vers table T_Import_IG
DoCmd.TransferSpreadsheet acImport, 8, 'TImport2', strPathToFiles, False, onglet & '!A1:F'

End If
End If
Next ws

Wb.Close False
setwb = Nothing
xlAppl.Quit
Set xlAppl = Nothing

Fichier = Dir
Loop
End Sub
 

globinours

XLDnaute Junior
Bonjour Roland,
Je ne connais rien à access mais peut-etre pourrais-tu indiquer dans ta fonction toutafficher le classeur à traiter.
Sub ToutAfficher(wb as workbook)
Dim ws As Worksheet
For Each ws In wb.Worksheets
ws.Visible = True
Next
End Sub

....

call to ToutAfficher(wb)
...
 
R

Roland

Guest
Merci d'avoir regarder mon pb, et merci pour ta réponse globinours.

Malheureusement, cela ne change rien à mon pb...
Toujours la même galère...

Merci à tous pour réponses que j'attends avec impatiences...;-)

@+
 

Discussions similaires

Réponses
7
Affichages
318

Statistiques des forums

Discussions
312 167
Messages
2 085 895
Membres
103 021
dernier inscrit
Sergyl75