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

Problème de code de la version 2003 à 2007

1 réponse
Avatar
Lou
Bonjour,

Est-ce que quelqu'un pourrait m'aider avec le code suivant? J'utilise ce
code pour importer dans Access une feuille de donnée de plusieurs documents
d'excel. Le code fonctionne très bien avec la version 2003 de Access mais je
dois changer à la version 2007 et plus rien ne va. J'active le code et il
n'y a rien qui se passe.

Merci à l'avance pour votre aide.
+++++++++++++++++++++++++++++++++++++++++

Private Sub Commande0_Click()
' Charger la référence Microsoft Scripting Runtime
' Charger Microsoft Excel x.x Object Library
Dim i As Long, chemin As String
Dim derligne As Long
Dim mazone As String, sonnom As String
chemin = "P:\ImportationProfils\Profil"
With Application.FileSearch
.NewSearch
.FileType = 4 'msoFileTypeExcelWorkbooks
.SearchSubFolders = False
.LookIn = chemin
If .Execute() <> 0 Then
For i = 1 To .FoundFiles.Count
Workbooks.Open FileName:=.FoundFiles(i)
'nomfi = .FoundFiles(i)
sonnom = ActiveWorkbook.Name
' Sélection de la feuille Données
Workbooks(sonnom).Sheets("Donnees").Select
derligne = ActiveSheet.Range("A65534").End(xlUp).Row
Workbooks(sonnom).Close savechanges:=False
' La 1ere ligne du classeur contient le nom des champs
'donc sélection de la zone à transférer à partir ligne 2
mazone = "Donnees!A1:z" & derligne
' adapter pour le nom de la table matableaccess
DoCmd.TransferSpreadsheet acImport, , _
"Donnees", .FoundFiles(i), True, mazone
Next i
Else
MsgBox ("Aucun fichier ")
End If
End With
End Sub

1 réponse

Avatar
lapointe
Bonjour

As-tu mis en place les références à Excel dans le projet ?

"Lou" a écrit :

Bonjour,

Est-ce que quelqu'un pourrait m'aider avec le code suivant? J'utilise ce
code pour importer dans Access une feuille de donnée de plusieurs documents
d'excel. Le code fonctionne très bien avec la version 2003 de Access mais je
dois changer à la version 2007 et plus rien ne va. J'active le code et il
n'y a rien qui se passe.

Merci à l'avance pour votre aide.
+++++++++++++++++++++++++++++++++++++++++

Private Sub Commande0_Click()
' Charger la référence Microsoft Scripting Runtime
' Charger Microsoft Excel x.x Object Library
Dim i As Long, chemin As String
Dim derligne As Long
Dim mazone As String, sonnom As String
chemin = "P:ImportationProfilsProfil"
With Application.FileSearch
.NewSearch
.FileType = 4 'msoFileTypeExcelWorkbooks
.SearchSubFolders = False
.LookIn = chemin
If .Execute() <> 0 Then
For i = 1 To .FoundFiles.Count
Workbooks.Open FileName:=.FoundFiles(i)
'nomfi = .FoundFiles(i)
sonnom = ActiveWorkbook.Name
' Sélection de la feuille Données
Workbooks(sonnom).Sheets("Donnees").Select
derligne = ActiveSheet.Range("A65534").End(xlUp).Row
Workbooks(sonnom).Close savechanges:úlse
' La 1ere ligne du classeur contient le nom des champs
'donc sélection de la zone à transférer à partir ligne 2
mazone = "Donnees!A1:z" & derligne
' adapter pour le nom de la table matableaccess
DoCmd.TransferSpreadsheet acImport, , _
"Donnees", .FoundFiles(i), True, mazone
Next i
Else
MsgBox ("Aucun fichier ")
End If
End With
End Sub