Bonjour,
Vous savez comment on fait pour insérer plusieurs fichiers texte dans un onglet excel ?
les fichiers : hotline_01.txt, hotline_02.txt, hotline_03.txt
Je souhaite les ouvrir dans une feuille d'Excel en VB ?
Merci de votre aide,








Bonjour,
Vous savez comment on fait pour insérer plusieurs fichiers texte dans un onglet excel ?
les fichiers : hotline_01.txt, hotline_02.txt, hotline_03.txt
Je souhaite les ouvrir dans une feuille d'Excel en VB ?
Merci de votre aide,
Bonjour,
Je te conseille d'utiliser l'enregistreur de macro pour avoir le code de base avec les options qui corespondent a tes fichiers. Une fois que tu as ce code essaye de le comprendre et poste le on t'aidera à l'adapter pour le rendre fonctionnel.








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 Sub hotline(hotline, hotline_tt) Workbooks.OpenText Filename:=fichier_a_importer, origin:= _ xlWindows, StartRow:=1, DataType:=xlDelimited, TextQualifier:= _ xlDoubleQuote, ConsecutiveDelimiter:=False, Tab:=True, Semicolon:=False, _ comma:=False, Space:=False, Other:=True, OtherChar:="|", FieldInfo:= _ Array(Array(1, 1), Array(2, 1), Array(3, 1), Array(4, 1), _ Array(5, 1), Array(6, 1), Array(7, 1)) ActiveWindow.Zoom = 75 Range("B2").Select ActiveWindow.FreezePanes = True Selection.AutoFilter Columns("A:AE").Columns.AutoFit Range("B2").Select ActiveWorkbook.SaveAs Filename:=fichier_a_exporter, FileFormat:= _ xlNormal, Password:="", WriteResPassword:="", ReadOnlyRecommended:= _ False, CreateBackup:=False
Bien et maintenant que tu a ce code quel est ton problème? QUest ce que tu aimerai qu'il fase et qu'il ne fait pas acctuellement?








Dans le code, j'importe un fichier ms comment je peux faire pour aller à la fin de la première insertion et ensuite inserer le deuxième fichier ?
Une solution consite a trouver la dernière ligne de ton fichier excel après importation puis de l'utiliser pour la suivante.
Voici : une liste des possibilité
http://www.developpez.net/forums/d45...gnees-feuille/
Par contre ta solution impose d'ouvrir le fichier excel pourais tu s'il te plai regarder un code avec importation de donnée. Menu Données importation de donnée externe
A mon avis cela permettra plus facilement de mettre les fichier a la suite les un des autre. Si tu ouvres chaque fichier il fudra copier les donner et les refermer.








Bonjour,
Dans un répertoire, j'ai plusieurs fichiers comme hotline_01.txt, hotline_02.txt, hotline_03.txt ...
Je souhaite déplacer ces fichiers dans un répertoire hotline.
Je veux un code qui permet de déplacer tt les fichiers commençant par "hotline". C'est possible ?
J'ai commencé par ça :
Je ne sais pas
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 dim fichier as string fichier="hotline_" fichier_a_importer = "/work/" + fichier + "*"
Merci,
Tu ne veux pas que l'on prenne les problème dans l'ordre? du genre on commence par savoir importer les fichier puis on s'occupe de la boucle (pour ce problème tu peux faire une recherche dans la faq et dans le forum il doit y avoir des dizaines d'exemples).








C'est good, j'ai trouvé
Merci,








Hello,
Je reviens vers vs, j'ai pas trouvé la méthode pour insérer plusieurs fichiers dans une feuille.
Mes fichiers sont : hotline_01, hotline_01 et hotline_03.
Mon code:
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 Dim appExcel As Excel.Application 'Application Excel Dim wbExcel As Excel.Workbook 'Classeur Excel Dim wsExcel As Excel.Worksheet 'Feuille Excel Set appExcel = CreateObject("Excel.Application") For i = 1 To 43 fichier_a_importer = "c:\temp\" & "dep0133_00" & i & ".txt" fichier_importer = fichier_a_importer Dim Resultat As String Resultat = Dir(fichier_importer, vbNormal) If Resultat <> "" Then fichier_importer = True Set wsExcel = appExcel.Workbooks.Open(fichier_a_exporter) Sheets.Add.OpenText Filename:=fichier_a_importer, origin:= _ xlWindows, StartRow:=1, DataType:=xlDelimited, TextQualifier:= _ xlDoubleQuote, ConsecutiveDelimiter:=False, Tab:=True, Semicolon:=False, _ comma:=False, Space:=False, Other:=True, OtherChar:="|", FieldInfo:= _ Array(Array(1, 1), Array(2, 1), Array(3, 1), Array(4, 1), _ Array(5, 1), Array(6, 1), Array(7, 1)) ActiveWindow.Zoom = 75 derniereLigne = Range("A65536").End(xlUp).Row Range("B" & derniereLigne).Select Next i
Bonjour il me semblai t'avoir donner une piste qui donne des résultats a mon avis prometteur quand on l'exploite
Tu obtiens un code du typePar contre ta solution impose d'ouvrir le fichier excel pourais tu s'il te plai regarder un code avec importation de donnée. Menu Données importation de donnée externe
A mon avis cela permettra plus facilement de mettre les fichier a la suite les un des autre. Si tu ouvres chaque fichier il fudra copier les donner et les refermer.
Il suffit de mettre le chemin de ton fichier en variable et d'utiliser la variable denière ligen pour remplir la destinantion
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 With ActiveSheet.QueryTables.Add(Connection:= _ "TEXT;C:\TEST.TXT", Destination _ :=Range("A1")) .Name = "T_DESCRI_1" .FieldNames = True .RowNumbers = False .FillAdjacentFormulas = False .PreserveFormatting = True .RefreshOnFileOpen = False .RefreshStyle = xlInsertDeleteCells .SavePassword = False .SaveData = True .AdjustColumnWidth = True .RefreshPeriod = 0 .TextFilePromptOnRefresh = False .TextFilePlatform = 1252 .TextFileStartRow = 1 .TextFileParseType = xlDelimited .TextFileTextQualifier = xlTextQualifierDoubleQuote .TextFileConsecutiveDelimiter = False .TextFileTabDelimiter = True .TextFileSemicolonDelimiter = False .TextFileCommaDelimiter = False .TextFileSpaceDelimiter = False .TextFileColumnDataTypes = Array(1, 1, 1) .TextFileTrailingMinusNumbers = True .Refresh BackgroundQuery:=False End With
donc en reprenant ton code (s'il fonctionne je ne l'ai pas testé)
Voila je te laisse remplacer mon code d'importation par le tient car on risque fort de ne pas avoir besoin des meme options d'importation
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
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45 Dim appExcel As Excel.Application 'Application Excel Dim wbExcel As Excel.Workbook 'Classeur Excel Dim wsExcel As Excel.Worksheet 'Feuille Excel Set appExcel = CreateObject("Excel.Application") For i = 1 To 43 fichier_a_importer = "c:\temp\" & "dep0133_00" & i & ".txt" fichier_importer = fichier_a_importer Dim Resultat As String Resultat = Dir(fichier_importer, vbNormal) If Resultat <> "" Then fichier_importer = True derniereLigne = Range("A65536").End(xlUp).Row+1 With ActiveSheet.QueryTables.Add(Connection:= _ "TEXT;" & fichier_a_importer, Destination _ :=Range("A" & derniereLigne )) .Name = "T_DESCRI_1" .FieldNames = True .RowNumbers = False .FillAdjacentFormulas = False .PreserveFormatting = True .RefreshOnFileOpen = False .RefreshStyle = xlInsertDeleteCells .SavePassword = False .SaveData = True .AdjustColumnWidth = True .RefreshPeriod = 0 .TextFilePromptOnRefresh = False .TextFilePlatform = 1252 .TextFileStartRow = 1 .TextFileParseType = xlDelimited .TextFileTextQualifier = xlTextQualifierDoubleQuote .TextFileConsecutiveDelimiter = False .TextFileTabDelimiter = True .TextFileSemicolonDelimiter = False .TextFileCommaDelimiter = False .TextFileSpaceDelimiter = False .TextFileColumnDataTypes = Array(1, 1, 1) .TextFileTrailingMinusNumbers = True .Refresh BackgroundQuery:=False End With Next i
Bonjour,
il me semble que tu ne comprends pas ce que tu fais :
ceci
Est totalement incohérent par rapport à cela :Hello,
Je reviens vers vs, j'ai pas trouvé la méthode pour insérer plusieurs fichiers dans une feuille.
Mes fichiers sont : hotline_01, hotline_01 et hotline_03.
"
il ne suffit pas de recopier un code trouvé quelquepart pour avoir ce qu'on a espéré, sinon le monde serait bourré d'informaticiens (et totalement chiant
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 For i = 1 To 43 fichier_a_importer = "c:\temp\" & "dep0133_00" & i & ".txt")
Partager