Bonjour,
Je ne m'en sors pas avec mon code vba...
Je souhaite proposer à mes utilisateur de choisir à l'ouverture d'un fichier excel (qui contient un mappage xml) le fichier xml à importer dans ce mappage... (à l'aide d'une fenêtre du type "ouvrir")
J'ai fait plusieurs tentatives, mais je pense que je me complique un peu la vie.
Voici les différentes pistes explorées :
1ère piste : ouvre une fenêtre d'importation d'un fichier xml.
problème : s'ouvre dans un nouveau classeur et ne respecte pas le mappage du classeur d'origine
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 Sub Fenetre() NomFichierXML = Application.GetOpenFilename("Fichier XML (*.xml),*.xml", , "Choisir le fichier") Set wk2 = Workbooks.OpenXML(Filename:=NomFichierXML, LoadOption:=xlXmlLoadImportToList) encore: FichierOk = Application.Dialogs(xlDialogOpen).Show If Not FichierOk Then MsgBox " Vous devez choisir un fichier" GoTo encore End If End Sub
2ème piste :
Ouvre le fichier dont le chemin est donné (C:\Users\adrienb63\xxx\xxx.xml) avec le bon mappage
Problème : je ne trouve pas comment ouvrir une fenêtre de choix de fichier qui puisse permettre de modifier automatiquement ce chemin...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 Sub ImportXmlFromFile() ThisWorkbook.XmlMaps("mesChamps_Mappage").Import ("C:\Users\adrienb63\xxx\xxx.xml") End Sub
3ème piste :
Extrait les noms de fichiers xml contenus dans le dossier voulu
Problème : ne sert pas à grand chose en fait...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 Sub ListingFichiers() Dim Rep As String, Fichier As String Dim i As Integer Rep = "C:\Users\adrienb63\xxx\" Fichier = Dir(Rep) Do While Fichier <> "" i = i + 1 Sheets("Feuil2").Range("A" & i) = Fichier Fichier = Dir Loop End Sub
Si quelqu'un pouvait me donner un petit coup de pouce, j'en serais très heureux !
Merci d'avance
Partager