Bonjour,
J'aimerai convertir mes données par le code vba. J'ai tenté de m'aider par la marco enregistrée, mais bon...
Les données sont séparées par une virgule dans une feuille excel
Merci d'avance
Marie
Bonjour,
J'aimerai convertir mes données par le code vba. J'ai tenté de m'aider par la marco enregistrée, mais bon...
Les données sont séparées par une virgule dans une feuille excel
Merci d'avance
Marie
Ton fichier de données, il est dans quel format ? .txt ou .csv ?
Excel offre déjà des outils pour lire ce genre de fichiers.
À moins que tu ne cherches à traiter tes données autrement... Mais là, comme nous ne sommes pas devins... et notre stock de boules de cristal est épuisé depuis longtemps... et le marc de café, pour ce genre de truc, c'est pas fiable...(c'était juste pour détendre l'atmosphère, je me lève, chez nous, c'est le matin...)
bon... heu... sans rire... Explique un peu plus...
ok ouain j'Avoue j'ai été plus que minimaliste...
Mon fichier est en .csv
Tout ce que je veux en fais, c'est de prendre les données et de les séparer dans des colonnes différentes.
Je dois le faire par vba, car j'ai plusieurs fichiers que je dois ouvrir et tranférer ensuite des données de fichier en fichier...
Et pour ce qui est du matin, bien bon réveil!!
Marie
Tu dis qu'il existe une façon de le faire par excel, mais est ce que tu parles à même le fichier excel, ou bien tu parles d'une fonction vba déjà existante....
Merci
Marie
Dans une nouvelle feuille du classeur ouvert, ou dans un nouveau classeur,
- Menu Données, Données externes, Importer des données...
- Dans la boîte de dialogue Sélectionner la source de données, tu sélectionne le fichier qui t'intéresse et tu cliques sur Ouvrir.
- Suivre les étapes de l'Assistant Importation de texte.
Je n'ai pas testé avec l'enregistreur de macro, mais celui-ci te donnera certainement un bon départ pour ton code...
j'ai déja essayé la macro enregistrer et sérieux ca me donne selon moi n'importe quoi...
Enfin, si quelqu'un s'y retrouve... merci d'avance
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 Columns("A:A").Select Selection.TextToColumns Destination:=Range("A1"), DataType:=xlDelimited, _ TextQualifier:=xlDoubleQuote, ConsecutiveDelimiter:=False, Tab:=False, _ Semicolon:=False, Comma:=True, Space:=False, Other:=False, FieldInfo _ :=Array(Array(1, 1), Array(2, 1), Array(3, 1), Array(4, 1), Array(5, 1), Array(6, 1), _ Array(7, 1), Array(8, 1), Array(9, 1), Array(10, 1), Array(11, 1), Array(12, 1), Array(13, 1 _ ), Array(14, 1), Array(15, 1), Array(16, 1), Array(17, 1), Array(18, 1), Array(19, 1), Array _ (20, 1), Array(21, 1), Array(22, 1), Array(23, 1), Array(24, 1), Array(25, 1), Array(26, 1), _ Array(27, 1), Array(28, 1), Array(29, 1), Array(30, 1), Array(31, 1), Array(32, 1), Array( _ 33, 1), Array(34, 1), Array(35, 1), Array(36, 1), Array(37, 1), Array(38, 1), Array(39, 1), _ Array(40, 1), Array(41, 1), Array(42, 1), Array(43, 1), Array(44, 1), Array(45, 1), Array( _ 46, 1), Array(47, 1), Array(48, 1), Array(49, 1), Array(50, 1), Array(51, 1), Array(52, 1), _ Array(53, 1), Array(54, 1), Array(55, 1), Array(56, 1), Array(57, 1), Array(58, 1), Array( _ 59, 1), Array(60, 1), Array(61, 1), Array(62, 1), Array(63, 1), Array(64, 1), Array(65, 1), _ Array(66, 1), Array(67, 1), Array(68, 1), Array(69, 1), Array(70, 1), Array(71, 1), Array( _ 72, 1), Array(73, 1), Array(74, 1), Array(75, 1), Array(76, 1), Array(77, 1), Array(78, 1)) _ , TrailingMinusNumbers:=True
Marie
Le code dans le message s'y haut est pour convertir à meme un fichier .csv
Le code que je mets ici , est la macro engegistrée que zazaraignée m'a suggéré de faire.
Mais moi j'ai déjà la parti du code qui permets d'ouvrir mes deux fichier .csv
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30 With ActiveSheet.QueryTables.Add(Connection:= _ "TEXT;D:\Documents and Settings\CU4798\Bureau\louis eric\new\Plansem0602.csv", _ Destination:=Range("A1")) .Name = "Plansem0602" .FieldNames = True .RowNumbers = False .FillAdjacentFormulas = False .PreserveFormatting = True .RefreshOnFileOpen = False .RefreshStyle = xlInsertDeleteCells .SavePassword = False .SaveData = True .AdjustColumnWidth = True .RefreshPeriod = 0 .TextFilePromptOnRefresh = False .TextFilePlatform = 850 .TextFileStartRow = 1 .TextFileParseType = xlDelimited .TextFileTextQualifier = xlTextQualifierDoubleQuote .TextFileConsecutiveDelimiter = False .TextFileTabDelimiter = False .TextFileSemicolonDelimiter = False .TextFileCommaDelimiter = True .TextFileSpaceDelimiter = False .TextFileColumnDataTypes = Array(1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, _ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 _ , 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1) .TextFileTrailingMinusNumbers = True .Refresh BackgroundQuery:=False
Ce que je ne sais pas par ou commencer, c'est pour la partie convertion vers des données en colonnes.
Je ne pense pas pouvoir utiliser la macro engegistré puisqu'à chaque semaine je change de fichier.
Alors j'ai crée une macro qui ouvre deux fichiers selon mes besoins et à partir de la , votre aide entre en jeux.
Merci
Marie
Bonjour à force de chercher, voici ce que j'ai trouvé
sauf que la il indique : erreur 438 propriété ou méthode non géré par cet objet
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 Public Sub ConvertirValeur(ByRef wbcache As Workbook, ByRef wbacces As Workbook) With wbcache Columns("A:A").Select .TextToColumns Destination:=Sheets(1).Cells(1, 1), _ DataType:=xlDelimited, _ TextQualifier:=xlDoubleQuote, ConsecutiveDelimiter:=False, Tab:=False, _ Semicolon:=False, Comma:=True, Space:=False, Other:=False, FieldInfo _ :=Array(1, xlGeneralFormat), TrailingMinusNumbers:=True End With End Sub
tout de suite aprés la dernière ligne de code...
Auriez-vous des idées??
Merci
Marie
merci
Partager