Code vba ne fonctionne plus sous Excel2016

msingle

XLDnaute Junior
Bonjour,

J'ai un code vba demandant d'indiquer un nom de fichier à charger qui fonctionne parfaitement sous 2007.

En le testant sous 2016 je me rends compte qu'il est inopérant.

Pouvez-vous m'aider?

Voici le bout de code :

Dim sPathFic As String, sFilter As String
sFilter = "Fichier d'export (*.csv)" & Chr(0) & "*.csv" & Chr(0)
' Donner le choix du fichier :
sPathFic = GetFileName(sFilter, "C:\Users\beele\Downloads", "Sélectionnez le fichier à ouvrir")
If sPathFic = "" Then Exit Sub
 

msingle

XLDnaute Junior
En fait, j'ai copié ce bout de code... probablement de ce forum...
Mais le problème ne vient pas de là car même en remplaçant "Fichier d'export (*.csv)" & Chr(0) & "*.csv" & Chr(0) par "Test", l'instruction sPathFic = GetFileName(sFilter, "C:\Users\beele\Downloads", "Sélectionnez le fichier à ouvrir") est zappée par Excel 2016.
 

LaCeline

XLDnaute Nouveau
msingle, job75, le forum,

Espérant ne pas écrire trop de bêtises ...
Pas hasard, le fichier contenant le bout de code devenu inopérationnel n'était-il pas d'origine un .xls (Excel 2003) ?
Aujourd'hui, ne doit-on pas utiliser : Application.GetOpenFilename ?
Ce lien n'existe plus

LaCéline
 

msingle

XLDnaute Junior
msingle, job75, le forum,

Espérant ne pas écrire trop de bêtises ...
Pas hasard, le fichier contenant le bout de code devenu inopérationnel n'était-il pas d'origine un .xls (Excel 2003) ?
Aujourd'hui, ne doit-on pas utiliser : Application.GetOpenFilename ?
Ce lien n'existe plus

LaCéline
Non, le fichier a toujours été un .xlsm.
D'autre part, j'ai testé Application.GetOpenFilename, et à présent le code me demande bien quel fichier ouvrir, mais ne continue pas la procédure.

En résume, ce que je cherche c'est à demander à l'utilisateur de choisir un fichier (.csv) afin de procéder à son importation.
 

LaCeline

XLDnaute Nouveau
msingle, le forum,

Un essai :
Code:
Dim sPathFic As String, sFilter As String
sFilter = "Fichier d'export (*.csv),  *.csv"
' Donner le choix du fichier :
ChDir ("C:\Users\beele\Downloads\")
sPathFic = Application.GetOpenFilename(sFilter)
If sPathFic = "" Then Exit Sub

LaCéline
 

job75

XLDnaute Barbatruc
Bonjour msingle, LaCeline, chris, le forum,

Attention, Application.GetOpenFilename renvoie la variable booléenne False quand on clique sur Annuler.

Donc utiliser :
Code:
Dim sPathFic As Variant, sFilter As String
sFilter = "Fichier d'export (*.csv),  *.csv"
' Donner le choix du fichier :
ChDir "C:\Users\beele\Downloads" 'ThisWorkbook.Path
sPathFic = Application.GetOpenFilename(sFilter)
If sPathFic = False Then Exit Sub
Workbooks.Open sPathFic 'ouverture avec Excel
'---suite---
Bonne journée.
 

Discussions similaires

Statistiques des forums

Discussions
312 215
Messages
2 086 330
Membres
103 187
dernier inscrit
ebenhamel