Bonjour tout le monde 
Un problème isolé je pense. En espérant que ça parle à quelqu'un...
Voilà ce qui se passe :
J'exporte des tables d'Access vers Excel avec la commande :
DoCmd.TransferSpreadsheet acExport, acSpreadsheetTypeExcel9, nomTable, cheminFic, True, Right(nomTable, 5)
J'ai plusieurs tables qui vont aboutir à UN fichier avec PLUSIEURS onglets (un par table).
Ensuite je travaille sur mon fichier Excel. Je peux être amené à ajouter un onglet lors de ce traitement.
Une fois que j'ai terminé, j'importe mes modifs dans Access avec la commande :
DoCmd.TransferSpreadsheet acImport, acSpreadsheetTypeExcel9, nomTable, cheminFic, True, wks.Name
Or, lors de l'import des onglets, j'avais une erreur provoquée par le dernier paramètre lors-qu'arrivait l'import des onglets crées à la main.
Après enquête, je me suis rendu compte que ce que j'utilisais pour prendre ma feuille dans sa globalité était en fait un nom dans Excel.
Après examen de ma feuille Excel je me suis rendu compte que les onglets crées lors de l'export Access->Excel avaient tous trois noms référencés.
Voici la liste complète (je l'ai générée avec ASAP Utilities) :

Comme on peut le voir, les onglets crées à la main (00704, 00705 et 01003) n'ont pas de nom.
J'en ai donc déduit qu'Access les avait crées automatiquement lors de l'export. Et ça m'arrange bien pour mon import ensuite !
Mon souci : lorsque j'essaye de créer un nom équivalent pour les onglets crées à la main avec pour nom '00704', par exemple, il me dit que le nom n'est pas valide.
Parce que si cela avait été possible, j'aurais intercepté l'erreur puis créé en VBA le nom comme suit :
1 2 3 4 5 6 7
| erreur: ' Routine de gestion d'erreur.
If err.Number = 3011 Then
Dim maPlage As String
maPlage = "='" & wks.Name & "!$A$1:$" & dernCol & "$" & dernLig
wks.Names.Add wks.Name, maPlage
Resume
Else |
Or je rencontre la même erreur ("Nom invalide") que lorsque j'avais essayé à la main.
Mes questions :
- Est-ce que je peux demander l'import d'une feuille complète sans avoir à passer par une plage et sans avoir de nom correspondant dans Excel ?
- Pourquoi et comment Access a-t'il créé trois noms pour chaque feuille lors de l'export et à quoi correspondent-ils ?
- Pourquoi Excel ne crée-t'il pas aussi ces trois noms lorsqu'on ajoute une feuille à la main ?
- Quelles options s'offrent à moi pour pouvoir importer tous les onglets dans Access et créer les tables correspondantes si nécessaire ?
Désolé, c'est long parce que détaillé.
En espérant avoir été clair...
Partager