Importer et mise à jour d'access avec un fichier Excel (1 Viewer)

Djeli Paulin

New member
Local time
Today, 00:04
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
 

vba_php

Forum Troll
Local time
Yesterday, 18:04
Joined
Oct 6, 2019
Messages
2,880
nous parlons anglais ici. veuillez poster votre question dans cette langue. vous pouvez utiliser ce site web:

 

GinaWhipp

AWF VIP
Local time
Yesterday, 19:04
Joined
Jun 21, 2011
Messages
5,900
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.
 

bastanu

AWF VIP
Local time
Yesterday, 16:04
Joined
Apr 13, 2010
Messages
1,402

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
 

jdraw

Super Moderator
Staff member
Local time
Yesterday, 19:04
Joined
Jan 23, 2006
Messages
15,379
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

Top Bottom