Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
2648 connectés 

  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  récupérer chaque jour des donées dans un nouveau fichier Excel

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

récupérer chaque jour des donées dans un nouveau fichier Excel

n°1414573
Tang108
Posté le 27-07-2006 à 14:50:15  profilanswer
 

Bonjour,
 
Je calcule au jour le jour la valeur d'un bien, pour cela je doit créer chaque jour un fichier Excel nommé selon le shémat suivant : "nom, datedujour"
Ces fichiers se composent de plusieurs onglets dont le dernier reprend tous les éléments de la valeur du jour (nommé "valo" ).
Je cherche à créer, dans un nouveau classeur, un historique me permettant de mettre en liste les valeurs de chaque jour en face de la date correspondante.
Pourriez vous m'aider à créer la macro qui m'éviterais de faire un copier coller chaque jour ?
 
D'avance merci

mood
Publicité
Posté le 27-07-2006 à 14:50:15  profilanswer
 

n°1414574
Paul Hood
Posté le 27-07-2006 à 14:52:06  profilanswer
 

T'as fait quoi ?

n°1414629
Tang108
Posté le 27-07-2006 à 15:33:24  profilanswer
 

Déja sache que je débute en VBA.
Note que j'ai commancé par faire simple : une formule "=cheminaccesclasseur+nomclasseur+onglet+adressecellule" mais je suis bloqué losque j'essaie d'intégrer une formule "today" au sein du nom du classeur.
Donc j'ai commencé le fichier en saisissant le nom du fichier à la main. Pas de problème quand je travaille sur un fichier existant. par contre excel me renvoie une formule d'erreur losque les fichier (de demain et des jours suivants) n'éxistent pas encore. Et même une fois que le fichier a été créé ça ne marche pas super bien : je dois choisir le fichier que je cherche comme s'il s'agissait d'une pièce jointe.
 
Tout ça pour dire que je cherche à faire un truc tout con et que je crois qu'une macro pourrais bien m'aider.
 

n°1414650
Paul Hood
Posté le 27-07-2006 à 15:44:37  profilanswer
 

Le "nom" de tes fichiers quotidiens est toujours le même ?
Tous ces fichiers quotidiens sont dans le même répertoire ?
Et tu veux un fichier de synthèse qui te reprend toutes les valeurs de l'onglet <quel nom> ?.
C'est bien ca ?

n°1414656
betsamee
Asterisk Zeperyl
Posté le 27-07-2006 à 15:48:27  profilanswer
 

bah utilises la fonction Format(date, "yyyymmdd" ) pour construire le nom de fichier

n°1414658
Tang108
Posté le 27-07-2006 à 15:49:24  profilanswer
 

- le nom de mes fichiers est construit comme suit : "valo_carav060724", "valo_carav060725", valo_carv060726"...
Tous les matins je fais un save as et je renome le fichier avec la date du jour.

n°1414672
Tang108
Posté le 27-07-2006 à 15:53:34  profilanswer
 

Scuse, je continue
- mes fichiers sont tous dans le même répertoire
- mon fichier de synthese doit reprendre les valeur situés en cellules E4, E5, E6, E7, E8, E9, E10 et E14 de l'onglet <quel nom>

n°1414674
Tang108
Posté le 27-07-2006 à 15:54:16  profilanswer
 

ok je regarde ce que ça donne

n°1414692
Paul Hood
Posté le 27-07-2006 à 16:03:31  profilanswer
 

Ce que je tre propose c'est de récupérer les fichiers de ton répertoire qui ont la structure "valo_caravaammjj".
Pour chacun de ces fichiers
   récupérer les valeurs des cellules E5, E6, ..E14
   Mettre à jour ton fichier de synthèse en fonction du nom du fichier et du nom de la colonne de ton fichier de synthèse (la date).
En clair ton fichier ed synthèse à cette tête la :
 
    060725  060726   060727   060728
E4   val14    val24    val31       val41
E5    val51
...
E14

n°1414698
Paul Hood
Posté le 27-07-2006 à 16:05:20  profilanswer
 

Pour réucpérer les fichiers de ton répertoire :
 
Dim fso As Object, dossier As Object, sousRep As Object, fich As Object
 
  Set fso = CreateObject("Scripting.FileSystemObject" )
  Set dossier = fso.GetFolder("Y:" )
  'Nom est la racine des fichiers : "valo_carav060724
  Nom = "valo_carav"
  'examen du dossier courant
  For Each fich In dossier.Files
    If fich.Name Like "valo_carav*" Then
        Datefichier = Mid(fich.Name, Len(Nom) + 1, 6)
        Valeurcherchee = GetValueWithADO(fich.Name, TaFeuille, TaCellule)
        Call MajValSynthese(Datefichier, Valeurcherchee)
        msg = Datefichier & vbCrLf & msg
    End If
  Next
Pour la fonction GetValueWithADO(fich.Name, TaFeuille, TaCellule)
voir http://frederic.sigonneau.free.fr/ [...] tValue.txt
 il te reste la procedure MajValSynthese(Datefichier, Valeurcherchee) qui te permet de mettre à jour ton fichier de synthèse.

mood
Publicité
Posté le 27-07-2006 à 16:05:20  profilanswer
 

n°1415294
Tang108
Posté le 28-07-2006 à 14:54:32  profilanswer
 

Bonjour,
J'ai essayé la procédure que tu me propose mais j'arrive à rien... pourtant ça m'a pas l'air insurmontable..
 
je crois que je vais commencer par aller m'acheter demain le "VBA Excel pour les nuls" (je pense que ça peut pas me faire de mal) et que je vais revenir vers toi plus tard
 
A très vite donc, merci encore


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  récupérer chaque jour des donées dans un nouveau fichier Excel

 

Sujets relatifs
[Fortran] Renommer un fichier à partir d'une variableRecuperer la trace d'execution
Changement de couleur sous excelColler une valeur en mémoire en provenance d'excel dans une macro
Rennommer un fichier sans extension et qui change de nom VBAEnrengistrer un system("dir") dans un fichier txt???
[WinXP] Créer un fichier .bat qui ouvre le command promptNombre de caractere dans un fichier texte
Lire un fichier contenant une matrice et le stocker dans un vecteurLire un fichier sur le client avant un upload
Plus de sujets relatifs à : récupérer chaque jour des donées dans un nouveau fichier Excel


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR