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