Bonjour
Tout d'abord je vous remercie de vous intéressé à mon problème.

Mise en contexte: Je suis chargé de réalisé un fichier excel permettant de trier une liste d'outillage, ce que j'ai donc effectuer grâce à une macro accessible par un bouton trier.

Problématique: J'aimerais faciliter l'importation de cette liste d'outillage par un bouton "sélectionner" qui ouvre une fenêtre permettant de sélectionner le fichier afin d'avoir son chemin, j'ai suivi
qui permettait de le faire avec un fichier .txt ou .csv, j'aimerais maintenant l'adapter à un fichier .xlsx et ensuite, une fois selectionner, grâce à un bouton importer, copier coller ce fichier contenant uniquement une feuille, dans la feuille "Liste outillage" du fichier.

J'espère que la problématique est assez claire.

Voici des extraits de code:
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
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
'Mémorise la ligne de départ à partir laquelle nous allons écrire les données importer dans la feuille excel
Dim ligne_debut As Integer: Dim colonne_debut As Integer
Dim ligne_fin As Integer: Dim colonne_fin As Integer
Dim ligne_enCours As Integer: Dim colonne_enCours As Integer: Dim fichier_choisi As String
 
 
Private Sub bouton_fermer_Click()
 
End Sub
 
 
Private Sub bouton_selectionner_Click()
 
 
 
fichier_choisi = Application.GetOpenFilename("Text Files (*.txt), *.txt", , "Sélectionner un fichier CSV") 'Cette ligne doit être modifier pour permettre de selectionner uniquement des fichiers xlsx
 
'Test afin de s'assurer que l'utilisateur a bien afficher un fichier dans la boite de dialogue, si le chemin n'est ni faux ni 0
If (LCase(fichier_choisi) <> "faux" And fichier_choisi <> "0") Then
    'On ajoute le chemin du fichier dans la liste fichier par la méthode AddItem
    liste_fichier.AddItem (fichier_choisi)
End If
 
End Sub
 
Private Sub bouton_importer_Click()
 Dim nom_fichier As String
 
 ligne_debut = 2: colonne_debut = 2
 ligne_enCours = ligne_debut: colonne_enCours = 2
 
 'Sous entendu que la feuille est vide
 
 For i = 0 To liste_fichier.ListCount - 1
 
    lecture (liste_fichier.List(i))
 Next i
 
 
 nom_fichier = Application.GetSaveAsFilename(fileFilter:="Text Files (*.txt), .txt") 'Celle-ci aussi
 
 
 
 
End Sub
Private Sub lecture(fichier As String)
 
End Sub

Je vous remercie déjà!, Théo