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é) :
En fait aucune donnée n'est importée... Rien ne se passe.
Et si je fais un pas à pas, toutes les données sont en colonne A et les infos séparées par des ";"
Je mets en pièce jointe un fichier d'exemple avec : la base de données (sur laquelle se trouve la macro)
Deux exemples de données (car la base de donnée est remplie par deux extractions : c'est assez clair lors de l'utilisation) sont dispos via ces liens : (impossible de mettre des fichiers csv sur le forum )
https://www.catupload.com/download/f5628e2b15ea0fce63547c462e7c925b.html
https://www.catupload.com/download/c0d636f9cecafac956a40f692d0c598f.html
Un grand merci par avance pour votre aide,
Bonne journée,
Loic
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é) :
VB:
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)
En fait aucune donnée n'est importée... Rien ne se passe.
Et si je fais un pas à pas, toutes les données sont en colonne A et les infos séparées par des ";"
Je mets en pièce jointe un fichier d'exemple avec : la base de données (sur laquelle se trouve la macro)
Deux exemples de données (car la base de donnée est remplie par deux extractions : c'est assez clair lors de l'utilisation) sont dispos via ces liens : (impossible de mettre des fichiers csv sur le forum )
https://www.catupload.com/download/f5628e2b15ea0fce63547c462e7c925b.html
https://www.catupload.com/download/c0d636f9cecafac956a40f692d0c598f.html
Un grand merci par avance pour votre aide,
Bonne journée,
Loic