Liste des fichiers CSV dans une feuille
Alors, voici ce que j'aimerais faire
sms me retourne un inventaire de logiciel pour un poste donné
le fichier retourné par sms est sous forme NomPoste.csv
dans le classeur excel feuil1 je liste les nom de postes
P100236
P100237
P100265
quand je clique sur un bouton la macro excel récupere dans un repertoire precis les fichiers.csv qui sont liste dans la feuil P100236,P100237
merci a l'avance de votre aide
comment renomer la sheet avec le nom du fichier .csv
je cherche toujours
j'arrive a ouvrir un fichier avec le code suivant
Code:
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
| Sub OuvrirFichier()
ActiveWorkbook.Worksheets.Add
With ActiveSheet.QueryTables.Add(Connection:= _
"TEXT;C:\RapportsSMS\sog6300.csv", Destination:=Range("A1"))
.Name = "sog6300"
.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 = True
.TextFileSpaceDelimiter = False
.TextFileColumnDataTypes = Array(1, 1, 1)
.TextFileTrailingMinusNumbers = True
.Refresh BackgroundQuery:=False
End With
Columns("B:C").Select
Selection.ClearContents
Rows("1:1").Select
Selection.ClearContents
Selection.Delete Shift:=xlUp
Range("A1").Select
End Sub |
mais j'aimerais qu'il ouvre TOUT les fichier.csv dans le repertoire en renommant le nom de la feuille avec le nom du fichier .csv
c'est fou le temps qu'on perd a cherché, faut passer par la pour apprendre..
Merci a l'avance
quoi dire... A l'aide....
:(:(
merci de ta patience j'apprecie vraiment, meme si on se comprend pas trop,
le but du forum c'est justement de rendre ce qui est evident pour vous plus facile pour nous
j'ai essayer de mettre mon chemin c:\RapportsSMS
merci
j'ai hate de comprendre mon erreur...
Merci ouskel
quand je suis dans VB le code est placer dans la feuille ThisWorkbook, j'ai reverifier les chemins tout seul ok. quand je clique sur le petit bouton "play"
rien ne se passe, si je fait le mode suivre pas a pas la ligne jaune se position sur Sub Appel(), puis au prochain "step" plus rien. voici le code en entier
Code:
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
| Dim NomFich As String
NomFich = Dir(Chemin & "\")
If NomFich = "" Or Right(NomFich, 4) <> ".csv" Then
MsgBox "Aucun fichier trouvé dans " & Chemin & "."
Exit Sub
End If
Do While NomFich <> ""
'on reécupère le nom de la feuille sans l'extension
NomFeuil = Left(NomFich, Len(NomFich) - 4)
'on renomme le fichier en txt afin de pouvoir l'ouvrir
NewName = Chemin & "\" & NomFeuil & ".txt"
Name Chemin & "\" & NomFich As NewName
'************ Code d'ouverture des fichiers ************
Workbooks.OpenText Filename:=NewName, StartRow:=1, _
DataType:=xlDelimited, TextQualifier:=xlNone, ConsecutiveDelimiter _
:=False, Semicolon:=True
DoEvents 'laisse au système le temps d'ouvrir le fichier si important
'***********************************************
'****** ici, on ne copie pas le classeur mais la feuille *******
ActiveSheet.Copy After:=FL1.Sheets(FL1.Sheets.Count)
'feuille que l'on renomme du nom du classeur moins l'extension
ActiveSheet.Name = NomFeuil
'et on va chercher le classeur suivant
NomFich = Dir
Loop
End Sub
--------------------------------------------------------------------------
Sub Appel()
Dim FL1 As Workbook, Chemin As String
Application.ScreenUpdating = False
Chemin = "C:\Users\Eric\Desktop\Job\test"
Set FL1 = ThisWorkbook
End Sub |
tout sa est dans la meme page je ne sais pas si je doit mettre le sub Appel ailleur...
encore merci pour ta patience... :roll: