Macro open office, import csv

sambafr Messages postés 8 Statut Membre -  
sambafr Messages postés 8 Statut Membre -
Bonjour,

Merci de votre aide.

J'utilise un programme java (avec la Wii BB) qui enregistre apres chaque sequence un fichier csv avec les coordonnées de la sequence. Je voudrais faire une macro qui importe tous les csv du repertoire pour pouvoir les utiliser das un fichier open office calc. Je ne connais rien en VB, c'est pour un projet perso, si quelqu'un veut bien m'aider merci encore

Samba
A voir également:

6 réponses

ed
 
Salut,

si tu as une version d'excel < 2007 j'ai quelque chose pour toi de quasi tout prêt avec la méthode FileSearch, sinon... j'ai vu sur le net qu'il y a de quoi remplacer cette méthode mais il faut bidouiller un peu.

bref, let me know !
a+ed
0
sambafr Messages postés 8 Statut Membre
 
Trop fort :-)

Je prend et je ferais la conversions après. Merci

PS: Si tu peux rajouter le lien que tu as trouvé pour la bidouille en + ca ferait (Merci++)x2
0
ed
 
Bon alors ça donné à peu près ça :

Range("A1").Select
With Application.FileSearch
.NewSearch
.LookIn = verz 'là tu mets le lien du dossier où se trouvent tes .csv
.SearchSubFolders = False ' on empêche de chercher dans les sous-dossiers aussi
.filename = "*.csv"
.FileType = msoFileTypeExcelWorkbooks
.Execute

' ici je propose de stocker les noms des fichiers pour y accéder plus tard (les ouvrir, prendre tes données...)
For i = 1 To .FoundFiles.Count
ActiveCell.Value = Dir(.FoundFiles(i))
ActiveCell.Offset(1, 0).Select
Next i
filenumber = .FoundFiles.Count
End With

Et puis là tu as ce dont je te parlais à propos de FileSearch :
https://silkyroad.developpez.com/vba/classefilesearch/

Je crois que je ne peux pas faire plus ! (à part une pipe et un mars)
a+ed
0
sambafr Messages postés 8 Statut Membre
 
J abuse mais j ai une question.

Imagine: Pour chaque csv, Si B1 est valeur yes et B2 est > 5 je veux prendre les cellules B5 à B12 et faire une moyenne sur ma nouvelle feuille. Tu as une idée comment faire ça?

Merci de ton aide, désolé

Samba
0
ed
 
Salut sambafr,

Sur le principe c'est comme ça (il faut dire que tu n'es pas clair sur ta "nouvelle feuille" ???) :

dim masomme as Single
dim mamoyenne as Single

If Range("B1").Value = "yes" And Range("B2").Value > 5 Then

Range("B2").Value.Select
Application.Sum(Selection) = masomme
mamoyenne = masomme / 8

Sheets("Ta nouvelle feuille").Activate
RAnge("A1").Value = mamoyenne

End if

Est ce que ça colle ?
a+ed

PS : si non, sois plus précis...
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
OOoForum Messages postés 4151 Date d'inscription   Statut Membre Dernière intervention   964
 
De toute façon, le Basic de Microsoft est incompatible avec celui de OpenOffice.org.

0
sambafr Messages postés 8 Statut Membre
 
"De toute façon, le Basic de Microsoft est incompatible avec celui de OpenOffice.org."

Si tu as une solution en OO je prends mais en attendant je remercie ed pour sa solution que j'ai d'ailleurs du mal a appliquer (je ne sais pas comment utiliser la macro que tu as ecris).

Ed excuse moi de ne pas avoir été clair:

J'ai 200 fichiers csv appelé datenom.csv . Dans ces fichiers il y les resultats de mon etude avec la Wii BB. Je veux utiliser le resultat du fichier 061009ClaireFry.csv seulement si la cellule b2 est yes et la celule b3 est > 5 (cellules du fichier 061009ClaireFry.csv) .
Ensuite,lorsque j'execute la macro, je voudrais par exemple faire la moyenne de toutes les cellules B6 des fichiers incluent dans l'etude (cad ceux qui ont B1 yes et B2 >5) ou trouver une autre maniere de manipuler les cellules des fichiers facilement pour faire des stats (les resultats pertinents sont entre B2 et B8, mais il y a des lignes et des lignes de données que je ne vais pas utiliser). Si tu veux que je t'envoie un fichier csv pour que tu comprennes pas de souçi

Est ce que c'est plus claire?

Merci ++ de ton aide.

Samba
0