Code vba ne fonctionne plus sous Excel2016

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

msingle

XLDnaute Occasionnel
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
 
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.
 
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, 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.
 
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
 
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.
 
Notre forum d’entraide est 100 % gratuit et le restera.
Aucune formation payante, aucun fichier à acheter, rien à vendre. Mais comme tout site, nous devons couvrir nos frais pour continuer à vous accompagner.
Soutenez-nous en souscrivant à un compte membre : c’est rapide, vous choisissez simplement votre niveau de soutien et le tour est joué.

Je soutiens la communauté et j’accède à mon compte membre

Discussions similaires

Réponses
3
Affichages
511
Réponses
3
Affichages
212
  • Question Question
Microsoft 365 Question code VBA
Réponses
2
Affichages
358
Réponses
1
Affichages
360
Retour