Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

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
 
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.
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
3
Affichages
353
Réponses
20
Affichages
3 K
Réponses
13
Affichages
2 K
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…