Bonjour,

J'ai trouvé plein de posts sur ce sujet, mais j'ai encore un problème, c'est pourquoi je crée celui-ci.

Mon projet Access contient une table de recettes "Recipes". Cette table possède une relation avec une autre table.

Depuis le formulaire affichant la table "Recipes" je peux exporter les données de la table dans un fichier Excel. J'aimerai pouvoir modifier ce fichier sous excel et le réimporter dans access.

C'est là que ça coince. J'ai réussi à faire l'importation dans une nouvelle table, mais lorsque j'essaie de le faire directement dans la table "Recipes" un message d'erreur s'affiche, indiquant que toutes les données n'ont pas pu être ajouter à la table. Je pense que la cause en ait que le champs contenant le nom de la recette est la clé primaire et il ne peux pas contenir de doublons. Comment puis-je écraser ou effacer tous les champs de ma table ? Je ne peux pas effacer la dite table, à cause de la relation.

D'avance merci pour votre aide

CODE DU BP D'IMPORTATION :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
'Importation depuis un fichier excel
 
Private Sub Commande76_Click()
On Error GoTo Err_Commande76_Click
 
    Call import_excel("Recipes", "d:\data\rezepte\rezepte.xls")
 
Exit_Commande76_Click:
     Exit Sub
 
Err_Commande76_Click:
     MsgBox Err.Description
     Resume Exit_Commande76_Click
End Sub
CODE DE LA FONCTION D'IMPORTATION
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
 
'-------------------------------------
'import_excel
'-------------------------------------
 
Sub import_excel(requête As String, filename As String)
 
'Renvoi en cas d'erreur
On Error GoTo import_excel_err
 
'Importation
DoCmd.TransferSpreadsheet acImport, acSpreadsheetTypeExcel3, requête, filename, True
 
'Message ok
MsgBox "Import OK!" & (Chr(13)) & filename, vbInformation
 
Exit Sub
 
'Gestion en cas d'erreur:
import_excel_err:
 
'Message erreur
MsgBox "Import Fehler!" & (Chr(13)) & filename, vbCritical
 
End Sub