Bonjour,

Je développe actuellement une application Excel permettant d'ouvrir en deux clics, un fichier CSV.
Par un UserForm, en deux clics, le fichier CSV est automatiquement converti (en gros, le traditionnel "DONNEES" > "Fichier Texte" > "Convertir") est codé dans ma macro et devient donc une action transparente pour l'utilisateur final.

La macro fonctionne bien, mais j'ai une erreur 1004 ("Microsoft Excel ne peut convertir qu'une colonne à la fois") lorsque j'ouvre un CSV avec séparateur virgule et je n'arrive pas à la résoudre !! Malgré cette erreur, le fichier CSV avec séparateur virgule s'ouvre correctement... Etrange donc. Le "Application.DisplayAlerts = False" ne neutralise pas le message d'erreur.

Voici le code qui me permet d'éxécuter l'ouverture du CSV
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
' Bouton ouvrir fichier
Private Sub Ouvrir_Click()
Application.DisplayAlerts = False
If (Me.Chemin = "Faux" Or Me.Chemin = "Chemin + nom + extension du fichier ouvert") Then   'Si aucun fichier n'est sélectionné alors
MsgBox "Choisissez un fichier !"                                    'Message d'erreur précisant qu'il faut choisir un fichier
Else                                                                'Si tout ok, on lance la conversion du fichier csv
Workbooks.OpenText Filename:=Me.Chemin, Origin:=xlWindows, _
                StartRow:=1, DataType:=xlDelimited, Semicolon:=True, Comma:=True
 
ActiveCell.CurrentRegion.TextToColumns Comma:=True
 
Ouverture.Hide
Workbooks("Outil_ouverture_V2.xlsm").Save
'Workbooks("Outil_ouverture_V2.xlsm").Close
End If
End Sub
Le problème survient à la ligne "ActiveCell.CurrentRegion.TextToColumns Comma:=True"

Pour information : le "Me.Chemin" me permet d'obtenir l'adresse complète du fichier à importer (exemple : "D:\User\Doc.csv") et est inscrit dans un TextBox de l'userform.
La macro bloque lorsqu'il n'y a aucun fichier sélectionné (donc, quand le texte "par défaut" est présent) et lorsque on annule la sélection du fichier (dans la fenêtre "ouvrir", en cliquant sur "annuler").

J'espère que ces explications sont assez claires pour vous...

Encore merci pour votre aide future !