Bonjour,
Je viens demander de l’aide (comme de nombreuses personnes ici )
J’ai créé une macro qui permet d’ouvrir un fichier, filtrer une colonne, après filtre, copier 3 colonnes et refermer le fichier.
Aucun problème, tout fonctionne.
Seule ombre au tableau, le fichier source est en réalité un csv (chose que je ne savais pas lors de l’écriture de la macro), et je n’arrive pas à savoir comment contourner le problème.
J’ai cherché sur le net mais il existe beaucoup de solutions et je ne trouve rien qui fonctionne chez moi.
Pour info, les données sont séparées par des « ; ».
Voici un bout de code (là où le document est ouvert et traité) :
MsgBox "Tu vas importer les données"
Set BD = Application.FileDialog(msoFileDialogFilePicker) 'définit la boîte de dialogue BD
BD.AllowMultiSelect = False 'n'autorise pas le sélection multiple
BD.Show 'affiche la boîte de dialogue
If BD.SelectedItems.Count = 0 Then GoTo 1 'si aucun fichier sélectionné, sort de la procédure
Workbooks.Open BD.SelectedItems(1) 'ouvre le fichier sélectionné
Set CS = ActiveWorkbook 'définit le classeur source CS
Set OS = CS.Worksheets(1) 'définit l'onglet source OS
Set OD2 = CD.Worksheets("BDD") 'définit l'onglet destination OD2 (BDD)
OS.Columns("A:X").Select
Selection.AutoFilter Field:=17, Criteria1:="internet"
OS.Columns(6).Copy OD2.Columns(15)
OS.Columns(8).Copy OD2.Columns(16)
OS.Columns(10).Copy OD2.Columns(17)
CS.Close SaveChanges:=False 'ferme le classeur source (sans enregistrer)
Un grand merci par avance pour votre aide,
Bonne journée,
Loic