Moulinette import excel
ToObar
Messages postés
80
Statut
Membre
-
G.David Messages postés 790 Statut Membre -
G.David Messages postés 790 Statut Membre -
Bonjour,
J'ai un gros souci , j'ai 100 fichiers csv que j'aimerai rassembler dans un seul et meme fichier. De plus, seulement 20 lignes dans ce fichier m'interesse.
Ces lignes sont faciles à trouver, on peut les extraires à partir de la colonne A, le mot clé est logiciel....
Quelqu'un aurait il une moulinette pour importer dans un fichier excel les lignes "logiciels" de mes 100 autres classeurs.
Merci
J'ai un gros souci , j'ai 100 fichiers csv que j'aimerai rassembler dans un seul et meme fichier. De plus, seulement 20 lignes dans ce fichier m'interesse.
Ces lignes sont faciles à trouver, on peut les extraires à partir de la colonne A, le mot clé est logiciel....
Quelqu'un aurait il une moulinette pour importer dans un fichier excel les lignes "logiciels" de mes 100 autres classeurs.
Merci
A voir également:
- Moulinette excel
- Liste déroulante excel - Guide
- Word et excel gratuit - Guide
- Si ou excel - Guide
- Déplacer colonne excel - Guide
- Comment trier par ordre alphabétique sur excel - Guide
6 réponses
chose a savoir
quel est le separateur de champ de tes csv
il faudrait déjà faire une premiere moulinette pour transformer tes csv en XLS (quitte a les renommer en passant style CSV1.xls ..CSV152.xls)
apres une deuxieme moulinette pourras transeferer les donnees dans un classeur d regroupement
G.David
quel est le separateur de champ de tes csv
il faudrait déjà faire une premiere moulinette pour transformer tes csv en XLS (quitte a les renommer en passant style CSV1.xls ..CSV152.xls)
apres une deuxieme moulinette pourras transeferer les donnees dans un classeur d regroupement
G.David
autrement voici un debut sur un fichier CSV dos
mais tu vas te retrouver avec toute la ligne dans une seule cellule
la transfromation des csv en Xsl permetterait de coller les contenu des cellules
Dim fs, f, f1, s, sf
Dim chemin As String
Dim plage As Range
Dim Actif As String
Application.DisplayAlerts = False
Actif = ActiveWorkbook.Name
chemin = ActiveWorkbook.Path
Set fs = CreateObject("Scripting.FileSystemObject")
Set f = fs.GetFolder(chemin)
Set sf = f.Files
ChDir chemin
For Each f1 In sf
If Right(f1.Name, 4) = ".csv" Then
Workbooks.Open Filename:=f1
Windows(f1.Name).Activate
Set plage = Range("a1:a" & Range("a65535").End(xlUp).Row)
For Each cel In plage
If Left(cel.Value, 8) = "logiciel" Then
Rows(cel.Row & ":" & cel.Row).Select
Selection.Copy
Windows(Actif).Activate
If Range("a2").Value = "" Then
Range("a2").Select
ActiveSheet.Paste
Else
Range("a1").End(xlDown).Offset(1, 0).Select
ActiveSheet.Paste
End If
End If
Windows(f1.Name).Activate
Next
Workbooks(f1.Name).Close
End If
Next
End Sub
mais tu vas te retrouver avec toute la ligne dans une seule cellule
la transfromation des csv en Xsl permetterait de coller les contenu des cellules
Bonjour et merci pour cette reponse,
Quand jouvre mon classeur csv, jai un affichage XLS directement.
Donc pas de séparateur, tout est en colonne directment avec ma première colonne nommée page ou se trouve les valeurs qui m'interesse pour le tri : "logiciel" en fait parti.
D'avance merci!
Quand jouvre mon classeur csv, jai un affichage XLS directement.
Donc pas de séparateur, tout est en colonne directment avec ma première colonne nommée page ou se trouve les valeurs qui m'interesse pour le tri : "logiciel" en fait parti.
D'avance merci!
alors colle la fonction presente dans un module de ton classeur
lequel sera enregistré dans le meme repertoire que les classeurs csv
et tu lances la macro
bon tu donnes quand meme un nom a la macro
alt f11
sur le classeur lic droit
insertion module
double clique sur le module (module1)
et dans la fenetre principale
sub ramasse() (entrée)
end sub (se met automatiquement)
tu fait un copier coller du code entre ces deux lignes
par prudence tu fait une copie de tes csv dans un repertoire sauvegarde
tu les vireras aprés
si tu veu eviter les clignotement d'ecran tu peut rajouter au debut
(après les dim )
application.screeupdating= false mais tu ne saura pas si le programme tourne ou est plant&
lequel sera enregistré dans le meme repertoire que les classeurs csv
et tu lances la macro
bon tu donnes quand meme un nom a la macro
alt f11
sur le classeur lic droit
insertion module
double clique sur le module (module1)
et dans la fenetre principale
sub ramasse() (entrée)
end sub (se met automatiquement)
tu fait un copier coller du code entre ces deux lignes
par prudence tu fait une copie de tes csv dans un repertoire sauvegarde
tu les vireras aprés
si tu veu eviter les clignotement d'ecran tu peut rajouter au debut
(après les dim )
application.screeupdating= false mais tu ne saura pas si le programme tourne ou est plant&
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Franchement merci, ce code marche parfaitement.
Ny connaissan pa grand chose en vb, tu pourrais me dire, comment on étend cette recherche.
Si c'est aps trop long, comment je peux rechercher dans le tablea en entier (colonne A à F), le mot 'licence"
Dès que ca parle de licence, ca me recopie la cellule, c'est possible?
tembete pas si c'est trop long!
Merci
Ny connaissan pa grand chose en vb, tu pourrais me dire, comment on étend cette recherche.
Si c'est aps trop long, comment je peux rechercher dans le tablea en entier (colonne A à F), le mot 'licence"
Dès que ca parle de licence, ca me recopie la cellule, c'est possible?
tembete pas si c'est trop long!
Merci
Bonjour et joyeux noel!!
Je suis de retour avec mon pb excel. Pour simplifier les choses et que ca soit plus explicite, j'ai séparé mon fichier de regroupement avec un seul fichier excel sur mes 100.
Je me retrouve avec un fichier test.csv et un fichier vanessa.csv.
La première colonne (la A) de vanessa.csv :
Page
Rapport
Rapport
...
Ya 10 lignes rapport.
Supposons que je veuille copier toutes les lignes rapport de mes fichiers, j'ai juste à changer ta ligne :
en :
Mais non, ca marche pas, au final, dans test.csv, j'ai juste une ligne rapport, la dernière...
c'est triste :s
Je suis de retour avec mon pb excel. Pour simplifier les choses et que ca soit plus explicite, j'ai séparé mon fichier de regroupement avec un seul fichier excel sur mes 100.
Je me retrouve avec un fichier test.csv et un fichier vanessa.csv.
La première colonne (la A) de vanessa.csv :
Page
Rapport
Rapport
...
Ya 10 lignes rapport.
Supposons que je veuille copier toutes les lignes rapport de mes fichiers, j'ai juste à changer ta ligne :
If Left(cel.Value, 8) = "logiciel" Then
en :
If Left(cel.Value, 7) = "Rapport" Then
Mais non, ca marche pas, au final, dans test.csv, j'ai juste une ligne rapport, la dernière...
c'est triste :s