Import plage de cellule .csv
N
Bonjour au forum,
Je reviens vers vous pour un autre problème d'import de données mais cette fois-ci, le fichier à importer est au format .csv.
J'ai essayé d'adapter plusieurs codes que certains membres du forum m'avaient déjà gentiment fourni pour des problèmes similaires, mais sans succès...
Alors je me permets de solliciter de nouveau votre aide
Je souhaite donc importer les données du fichier "A importer.csv" dans l'onglet "Import" du fichier "Dest.xlsm".
Le fichier "A importer.csv" est un fichier qui sera généré quotidiennement, j'ai donc besoin que le collage dans le fichier "Dest.xlsm" se fasse à chaque fois à la dernière ligne vide.
Merci d'avance pour votre aide précieuse...
N
Problème résolu
Set CD = ThisWorkbook 'définit le classeur destination CD
Set OD = CD.Worksheets("Import") 'définit l'onglet destination OD
CA = "O:\Extraction\" 'définit le chemin d'accès CA
With Application.FileDialog(msoFileDialogOpen) 'prend en compte la boîte de dialogue d'ouverture de fichiers
.AllowMultiSelect = True 'n'autorise qu'un seul fichier
.Filters.Add "Fichier CSV", "*.csv" 'définit le filtre sur le type de fichiers
.InitialFileName = CA 'définit le dossier par défaut à l'ouverture de la boîte de dialogue
.Show 'affiche la boîte de dialogue
If .SelectedItems.Count = 1 Then .Execute 'si un élément est sélectionné, valide la boîte de dialogue
End With 'fin de la prise en compte de la bolîte de dialogue d'ouverture de fichiers
Set CS = ActiveWorkbook 'définit le classeur source CS
Set OS = CS.Worksheets(1) 'définit l'onglet source OS
Application.ScreenUpdating = False
'définit la cellule de destination DEST (A1 si A11 est vide, sinon la première cellule vide de la colonne A de l'onglet destination OD)
Set DEST = IIf(OD.Range("A11").Value = "", OD.Range("A11"), OD.Cells(Application.Rows.Count, "A").End(xlUp).Offset(1, 0))
dl1 = OS.Range("A" & Rows.Count).End(xlUp).Row
OS.Range("A2:I" & dl1).Copy DEST 'OS.UsedRange.Copy DEST 'copie l'ensemble des cellules éditées de l'onglet source dans DEST
CS.Close False 'ferme le fichier source sans enregistrer