Bonjour,
Désolé si je ne suis pas claire dans mon titre.
Voilà je débarque dans le monde des VBA, bien que très utile j'ai l'impression que c'est du chinois.
Je cherche un moyen d'importer des classeurs csv dans excel : là c'est la partie simple.
Dans chaque classeur j'ai 300 lignes et 727 colonnes et pour mon traitement de données je n'ai besoin que de la moyenne. J'ai un peu plus de 400 classeurs csv donc manuellement c'est inenvisageable.
Donc il me faut quelque chose qui puisse d'abord faire la moyenne dans les csv et puis les importer ou un truc du genre pour au final n'avoir qu'un seul classeur excel avec la moyenne de chaque classeur csv importé.
J'essaye avec le générateur de code mais étant débutant et ne sachant pas par où commencer je crie à l'aide.
Si quelqu'un pouvait m'aider, je lui en saurais gré.
Avec amitié
Lale.
bonsoir,
une proposition
Sub aargh()
Dim wsr, rep$, nf$, wb, ws, dl&, dc&, moy, k&
Set wsr = ThisWorkbook.Sheets("sheet1") ' à adapter nom de la feuille qui recevra les résultats (doit exister)
rep = "d:\downloads\fichiers\" 'à adapter répertoire dans lequel se trouvent les fichiers csv
nf = Dir(rep & "*.csv")
While nf <> ""
Set wb = Workbooks.Open(rep & nf)
Set ws = ActiveSheet
With ws
dl = .Cells(Rows.Count, 1).End(xlUp).Row
dc = .Cells(1, Columns.Count).End(xlToLeft).Column
moy = Application.WorksheetFunction.Average(.Range("A1").Resize(dl, dc))
End With
k = k + 1
wsr.Cells(k, 1) = nf
wsr.Cells(k, 2) = moy
wb.Close False
nf = Dir()
Wend
End Sub