Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

VBA : Récup de données excel dans access

2 réponses
Avatar
Jean-Marie VIGNEAUD
Bonjour,

Je travaille sur office 97.

Je dois en fait récupérer, dans un nombre indéterminé de fichiers excel 97
présent dans le même répertoire, toutes les cellules A1 de la feuille 1 pour
en écrire le contenu dans une table access, tout ceci à partir d'access 97
et en VBA.

Si vous avez des pistes de réflexion, je suis preneur.

Merci d'avance

Cordialement à tous,

Jean-Marie

2 réponses

Avatar
Raymond [mvp]
Bonjour.

tu vas pouvoir fêter le 10e anniversaire d'access 97 ? tu sais qu'il n'est
plus supporté depuis longtemps par Microsoft ?
ce qu'il faut faire:
une boucle pour obtenir le nom des fichiers excel, par la fonction Dir
dans cette boucle faire un import par la commande DoCmd.TransferSpreadsheet
de la plage a1:a1
j'espère que tout ça existait bien sous 97.

--
@+
Raymond Access MVP http://OfficeSystem.Access.free.fr/
Pour débuter sur le forum: http://www.mpfa.info/
PowerShell, une nouvelle approche de l'administration de l'environnement
Windows
http://www.comscamp.com/Tracker/Redirect.ashx?linkid_73b247-3260-4fed-861f-bb587f7ef413


"Jean-Marie VIGNEAUD" a écrit dans le
message de news: f1acmf$k2s$
| Bonjour,
|
| Je travaille sur office 97.
|
| Je dois en fait récupérer, dans un nombre indéterminé de fichiers excel 97
| présent dans le même répertoire, toutes les cellules A1 de la feuille 1
pour
| en écrire le contenu dans une table access, tout ceci à partir d'access 97
| et en VBA.
|
| Si vous avez des pistes de réflexion, je suis preneur.
|
| Merci d'avance
|
| Cordialement à tous,
|
| Jean-Marie
|
|
Avatar
Fabien
Bonjour,

Je travaille sur office 97.

Je dois en fait récupérer, dans un nombre indéterminé de fichiers excel 97
présent dans le même répertoire, toutes les cellules A1 de la feuille 1 pour
en écrire le contenu dans une table access, tout ceci à partir d'access 97
et en VBA.

Si vous avez des pistes de réflexion, je suis preneur.

Merci d'avance

Cordialement à tous,

Jean-Marie


Bonjour Jean-Marie

Autre piste
Sub Import_contenu_repertoire(Dossier As String)
Dim rep, Nom_Tbl As String
'obtient le premier fichier ou répertoire qui est dans Dossier
rep = Dir(Dossier & "*.xls", vbDirectory)
'boucle tant que le répertoire n'a pas été entièrement parcouru
On Error GoTo Erreur
Do While (rep <> "")
'teste si c'est un fichier ou un répertoire
If (GetAttr(Dossier & rep) And vbDirectory) = vbDirectory Then
'MsgBox "Répertoire " & rep
Else
Nom_Tbl = Left(rep, Len(rep) - 4)
DoCmd.TransferSpreadsheet acImport, acSpreadsheetTypeExcel9,
Nom_Tbl, Dossier & rep, False ', rep & "!"
' Ajout d'un N° automatique pour conserver l'ordre des lignes
DoCmd.RunSQL "ALTER TABLE [" & Nom_Tbl & "] ADD COLUMN [Numéro]
COUNTER"
'découpage de la table en plusieurs table puisque une feuille de calcul
contient plusieurs tableau
Decoupe Nom_Tbl
End If
Suite:
'passe à l'élément suivant
rep = Dir
Loop
GoTo Fin
Erreur:
DoCmd.RunSQL "INSERT INTO [Erreur import xls] ( [Nom Fichier],
[Code erreur] ) SELECT '" & Dossier & rep & "' AS Fichier, " &
Err.Number & " AS Erreur" ', '" & Err.Description & "' AS MesErr"
Resume Suite
Fin:
End Sub


Tu adaptes. J'ai utilisé cette fonction pour créer autant de table que
de tableau que contenait une feuille de calcul.
voila