Importer et mise à jour d'access avec un fichier Excel

Djeli Paulin

New member
Local time
Today, 09:00
Joined
Mar 19, 2020
Messages
3
Bonjour à tous,

j'ai ce code dans un Module:

Option explicite
«---
«CONSTANTES
«---


Const. Publique SOURCE_PATH = "C: \ Users \ HP \ Desktop \"
'CHEMIN DES FICHIERS SOURCES
«---
"
Fonction publique SourcePath ()
Si InStr (1, SOURCE_PATH, ":", vbTextCompare)> 0 Alors
SourcePath = SOURCE_PATH
Autre
SourcePath = CurrentProject.Path & "\" & SOURCE_PATH
Fin si
Fonction de fin

Et aussi ce code dans un autre module standard


Sub UpdateExcel ()
Dim tu as TableUpdater
'Pour les tests, sur vide la table avant d'importer
'les données externes
CurrentDb.Execute "DELETE * FROM [tbl_Productions]"
'Initialisation d'un TableUpdater
Set tu = New TableUpdater
With tu
«Fichier à importer (chemin, type, version)
.Source = SOURCE_PATH & "Productions.xlsx"
.Range = "Productions!"
.SourceType = Excel
.ExcelVersion = acSpreadsheetTypeExcel12

'Informations sur les données
.Headers = True
.Target = "tbl_Productions"
.TempTable = "tbl_Productions TEMP"
«Importation
.Importation
Terminer par
«Message final
BilanImportation tu
«Libérer les ressources
Set tu = Nothing
End Sub

Maintenant je voudrais passer par un FileDialog pour donner le choix à mes collègues de leur fichier à l'importer donc j'ai mis en place un formulaire pour cela

le code:


Sous privé cmdChemDossier_Click ()
«---
«SELECTION D'UN DOSSIER
«---
Dim fd As Office.FileDialog
'Créer un objet FileDialog
Définissez fd = Application.FileDialog (msoFile DialogFolderPicker)
«Titre de la boîte
fd.Title = "AMIIS PRO-VI: Sélectionnez un Chemin ..."
«Texte du bouton
fd.ButtonName = "Sélectionner"

«Type de vue au départ
fd.InitialView = msoFileDialogViewLargeIcons
'Afficher la boîte et traiter le résultat
Si fd.Show () Then
Me.ChemExcelImp = fd.SelectedItems (1)
MsgBox "Vous avez sélectionné le chemin:" & vbCrLf & fd.SelectedItems (1), vbInformation, "AMIIS PRO-VI"
Fin si

Set fd = Nothing

End Sub

Mon problème est que je n'arrive pas à mettre en place les corrections nécessaires dans les codes (les modules) pour permettre de récupérer le choix fait dans FileDialog comme ceci:

.source = (le chemin du fichier choisi par l'utilisateur)

dans mon cas s'est C: \ Users \ HP \ Desktop \ Production .xlsx

Aidez moi s'il vous plait

Merci
 
nous parlons anglais ici. veuillez poster votre question dans cette langue. vous pouvez utiliser ce site web:

 
Hmm, please explain in English what you mean by *recover the choice made*. What do you want to happen once the User selects the file.
 
Option explicite Publique sSOURCE_PATH as string Sub UpdateExcel () Dim tu as TableUpdater 'Pour les tests, sur vide la table avant d'importer 'les données externes CurrentDb.Execute "DELETE * FROM [tbl_Productions]" 'Initialisation d'un TableUpdater Set tu = New TableUpdater With tu «Fichier à importer (chemin, type, version) .Source = sSOURCE_PATH &"\" & "Productions.xlsx" '.Source = SOURCE_PATH & "Productions.xlsx" .Range = "Productions!" .SourceType = Excel .ExcelVersion = acSpreadsheetTypeExcel12 'Informations sur les données .Headers = True .Target = "tbl_Productions" .TempTable = "tbl_Productions TEMP" «Importation .Importation Terminer par «Message final BilanImportation tu «Libérer les ressources Set tu = Nothing End Sub

Sous privé cmdChemDossier_Click () «--- «SELECTION D'UN DOSSIER «--- Dim fd As Office.FileDialog 'Créer un objet FileDialog Définissez fd = Application.FileDialog (msoFile DialogFolderPicker) «Titre de la boîte fd.Title = "AMIIS PRO-VI: Sélectionnez un Chemin ..." «Texte du bouton fd.ButtonName = "Sélectionner" «Type de vue au départ fd.InitialView = msoFileDialogViewLargeIcons 'Afficher la boîte et traiter le résultat Si fd.Show () Then 'Me.ChemExcelImp = fd.SelectedItems (1) sSOURCE_PATH = fd.SelectedItems (1) MsgBox "Vous avez sélectionné le chemin:" & vbCrLf & fd.SelectedItems (1), vbInformation, "AMIIS PRO-VI" Fin si Set fd = Nothing End Sub

Cheers,
Vlad
 
Heureux que votre problème soit résolu.
Souhaitez-vous partager votre solution avec le forum? Souvent, les utilisateurs recherchent des solutions ou des idées pour résoudre leurs problèmes et examineront les solutions / techniques publiées.
 

Users who are viewing this thread

Back
Top Bottom