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
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
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
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
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