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

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

3 réponses

  1. Modérateur
    Bonjour,

    Avec ton code initial, si tu traites les données une fois importées avec Données/Convertir, parviens tu au résultat attendu?
    Si oui, l'enregistreur de macro te sauvera...
    0