Problématique globale...

J

jg

Guest
Bonjour,

Je suis confronté à un problème global, qui n'est peut être pas réalisable uniquement avec excel. Le problème est que je ne connais pas très bien excel et presque pas VBA. Mais bon, je suis prêt à m'y mettre ! Je fais donc appel à vous pour m'aiguiller sur les bonnes pistes (je n'attends évidemment pas de solution "clé en main") : excel + VBA est il le bon moyen pour traiter ce problème ? Faut-il mieux s'orienter vers une solution php / mySQL ?



Le problême est le suivant : je cherche à automatiser un enchainement de tâches :

- Téléchargement de fichiers dont le nom est de la forme
date - heure.csv. (Serveur FTP ?). Il y a donc 24 fichiers par jour.

- Pour chaque fichier csv : supprimer certaines colonnes (connues à l'avance, toujours les mêmes), puis en extraire certaines lignes (qui peuvent être considérées comme des entrées d'une BD) selon le contenu des champs (en SQL on aurait qqchose du type "SELECT * WHERE nom_champ=valeur").
Les lignes extraites de la table sont stockées dans un fichier excel.

- Concaténation des fichiers obtenus dans 3 fichiers excel regroupés par plages horaires : ex : un fichier minuit - 8h00, un autre 8h00 - 16h00, et enfin 16h00-24h00.

- Calcul de statistiques au sein de chaque fichier, et édition des graphiques associés.



Merci d'avance à tous ceux qui me donneront un coup de main !

JG
 
M

michel

Guest
bonsoir JG

je ne suis pas sur que ce soit exactement ce que tu recherches , mais la macro ci dessous permet de telecharger un document


Private Declare Function URLDownloadToFile Lib "urlmon" _
Alias "URLDownloadToFileA" (ByVal pCaller As Long, ByVal szURL As String, _
ByVal szFileName As String, ByVal dwReserved As Long, ByVal lpfnCB As Long) As Long
'adapté de http://www.webace.com.au/~balson/InsaneExcel/Web.htm
Private Const ERROR_SUCCESS As Long = 0

Sub LancementProcedure()
Dim Num As Byte
Dim i As Integer, Longueur As Integer
Dim NomPage As String, Chemin As String

Chemin = "http://www.monSiteInternet.com/Classeur.csv" 'adapter le chemin
Longueur = Len(Chemin)
i = Longueur
While Mid(Chemin, i, 1) <> "/"
i = i - 1
Wend
NomPage = Mid(Chemin, i + 1, Longueur - i)
Num = InStr(1, NomPage, ".") - 1

DownloadFile Chemin, ThisWorkbook.Path & "\" & Left(NomPage, Num) & _
Right(NomPage, Len(NomPage) - Num)

End Sub

Public Function DownloadFile(ByVal sURL As String, ByVal sLocalFile As String) As Boolean
Dim lngRetVal As Long
DownloadFile = URLDownloadToFile(0&, sURL, sLocalFile, 0&, 0&) = ERROR_SUCCESS
End Function


bonne soirée
MichelXld
 

Discussions similaires

Réponses
6
Affichages
402

Statistiques des forums

Discussions
312 228
Messages
2 086 421
Membres
103 205
dernier inscrit
zch