XL 2019 Fichier = Fichier

Arnaud59000

XLDnaute Nouveau
Bonjour tout le monde !

Me voilà avec le nouveau problème du moment !

La macro suivante :

VB:
Sub ImportBDDCM()

    Dim Fichier As String
    
    'Acceleration du traitement des données
    Application.ScreenUpdating = False

    
    Fichier = Application.GetOpenFilename(FileFilter:=" Excel Files ( *.xlsx;*.xlsm;*.csv), ( *.xlsx*.xls), All Files, *.*", FilterIndex:=1)
    
    If Fichier = False Then Exit Sub ' si tu annules

    Workbooks.Open Filename:=Fichier

    'supprime le chemin
    Fichier = Dir(Fichier)

    'Copie données fichier d'entrée vers fichier de sortie
    Workbooks("Suivi WF").Sheets("BDDCM").Range("A1:T4000").Value = Workbooks(Fichier).Sheets(1).Range("A1:T4000").Value

    'Fermeture du classeur
    ActiveWorkbook.Close

    MsgBox ("Import Terminé")



End Sub

Me permet "d'importer" des données d'un fichier vers un autre. Cependant si mon fichier "source" (celui de droite dans la copie) est en CSV, excel ne me fait pas la transformation des données ? Avez-vous une idée pour que la macro le fasse ou je dois obligatoirement passer par l'onglet "données, importer des données, ..."

Bonne journée à vous
 
Solution
Re,

J'ai eu un coup de main pour trouver la solution que voici :

VB:
Sub ImportBDDCM()

    Dim Fichier As String
    
    'Acceleration du traitement des données
    Application.ScreenUpdating = False

    
    Fichier = Application.GetOpenFilename("Fichiers csv, *.csv")
    
    If Fichier = "" Then Exit Sub ' si tu annules

    'Transcrit le csv en tableau
    Workbooks.OpenText Filename:=Fichier, Origin:=xlWindows, StartRow:=1, DataType:=xlDelimited, Local:=True, Semicolon:=True

    'supprime le chemin
    Fichier = Dir(Fichier)

    'Copie données fichier d'entrée vers fichier de sortie
    Workbooks("Suivi WF").Sheets("BDDCM").Range("A1:T4000").Value = ActiveSheet.Range("A1:T4000").Value

    'Fermeture du classeur...

Arnaud59000

XLDnaute Nouveau
Re,

J'ai eu un coup de main pour trouver la solution que voici :

VB:
Sub ImportBDDCM()

    Dim Fichier As String
    
    'Acceleration du traitement des données
    Application.ScreenUpdating = False

    
    Fichier = Application.GetOpenFilename("Fichiers csv, *.csv")
    
    If Fichier = "" Then Exit Sub ' si tu annules

    'Transcrit le csv en tableau
    Workbooks.OpenText Filename:=Fichier, Origin:=xlWindows, StartRow:=1, DataType:=xlDelimited, Local:=True, Semicolon:=True

    'supprime le chemin
    Fichier = Dir(Fichier)

    'Copie données fichier d'entrée vers fichier de sortie
    Workbooks("Suivi WF").Sheets("BDDCM").Range("A1:T4000").Value = ActiveSheet.Range("A1:T4000").Value

    'Fermeture du classeur
    ActiveWorkbook.Close

    MsgBox ("Import Terminé")



End Sub
 

Discussions similaires

  • Question
Microsoft 365 Code VBA
Réponses
10
Affichages
748

Statistiques des forums

Discussions
315 095
Messages
2 116 165
Membres
112 675
dernier inscrit
Tazra_IMOU