Fonction Application.GetOpenFilename
Résolu
Hello le groupe,
j'ai bâti le code ci-dessous en regardant des vidéos sur YouTube (oui suis pas doué..)
du coup le code fonctionne et tout va bien à une exception prêt.
J'ouvre un fichier csv et ce dernier s'ouvre sous Excel ce qui pose problème car les données sont mise ensemble et séparées par un séparateur "|" mais ont également des ";" et :" du coup, il faudrait que mon code ne l'ouvre pas avc Excel mais avec un éditeur de texte de type WordPad ou Bloc-notes.
Comment modifier mon code afin que quand il indique : Set MonClasseur = Application.Workbooks.Open(ListFile) il le fasse avec l'un des 2 types de fichier indiqués ci-dessus ?
Par avance merci pour votre aide
j'ai bâti le code ci-dessous en regardant des vidéos sur YouTube (oui suis pas doué..)
du coup le code fonctionne et tout va bien à une exception prêt.
J'ouvre un fichier csv et ce dernier s'ouvre sous Excel ce qui pose problème car les données sont mise ensemble et séparées par un séparateur "|" mais ont également des ";" et :" du coup, il faudrait que mon code ne l'ouvre pas avc Excel mais avec un éditeur de texte de type WordPad ou Bloc-notes.
Comment modifier mon code afin que quand il indique : Set MonClasseur = Application.Workbooks.Open(ListFile) il le fasse avec l'un des 2 types de fichier indiqués ci-dessus ?
Par avance merci pour votre aide
Option Explicit
Sub AutoImportDataTXT()
'déclaration des variables
Dim ListFile As Variant
Dim MonClasseur As Variant
'désactivation des alertes
Application.ScreenUpdating = False
Application.CutCopyMode = False
'filtrer pour ne voir que le type de fichier à séletionner
ListFile = Application.GetOpenFilename(Title:="Sélectionner les données et importez les données", fileFilter:="Fichiers CSV(*.csv*),*xls*", ButtonText:="Cliquez")
'prévoir le cas du click bouton annuler en cas 'erreur
If ListFile <> False Then
'on indique le fichier sélectionner
Set MonClasseur = Application.Workbooks.Open(ListFile)
'copier les données
MonClasseur.Sheets(1).Range("A1").CurrentRegion.Copy
'coller les données
ThisWorkbook.Sheets("echantillon").Range("A1").PasteSpecial xlPasteValues
'fermer classeur source
MonClasseur.Close
End If
End Sub