Macro : Ouvrir des .csv et coller les cellules sélectionnées dans un .xlsx

adr

XLDnaute Nouveau
Bonjour, tout le monde!
Voilà, comme l'indique l'intitulé du message j'essaie de consolider un fichier .xlsx depuis des .csv, j'avais fait ce programme sur Excel 2003 où il tournait très bien mais impossible de l'adapter sur 2007. J'ai du installer la macro complémentaire CLFileSearch mais je rencontre toujours des problèmes et aurais besoin d'un coup de pouce svp.

Pour résumer je n'arrive pas à inclure tous les .csv dans la boucle for, la sélection des cases ne s'effectue pas comme souhaitée : le fichier à consolider FichOUT est constitué de la case A1 du fichier c.csv toute les 100 lignes sur toutes les colones.

La macro est en pièce jointe et sur le message
Voici la macro:

Private Sub GO_Click()

RepIN = Cells(1, "C").Value
RepOUT = Cells(2, "C").Value
FichOUT = Cells(3, "C").Value & ".xlsx"

'Nécessite d'activer la référence ClFileSearch
'(Dans l'éditeur de macros: Menu Outils/Références)
Dim i As Long
Dim j As Long

Dim Recherche As ClFileSearch.ClasseFileSearch
Set Recherche = ClFileSearch.Nouvelle_Recherche

With Recherche

'Définit le répertoire de recherche
.FolderPath = RepIN
'"C:\Documents and Settings\Adrien\Bureau\macro excel\Fichiers sources" = RepIN

'Définit la recherche dans les sous dossiers (True / False)
.SubFolders = False

'Option de tri:
'(Sort_None, sort_Name, sort_Path, sort_Size, sort_DateCreated, sort_LastModified,
sort_Type)
'Pas de tri si le paramètre n'est pas spécifié.
.SortBy = sort_Type

'Option pour rechercher un type de fichier
'(Renvoie tous les fichiers si non spécifié)
.Extension = "*.csv"

'Execute la recherche
If .Execute > 0 Then

On Error Resume Next

Workbooks.Add
ActiveWorkbook.SaveAs RepOUT & "\" & FichOUT

j = 1

'MsgBox ("j=" & j)

'Boucle sur le tableau pour afficher le résultat de la recherche
'(.FoundFilesCount renvoie le nombre de fichiers trouvés)

For i = 1 To .FoundFilesCount

Filename = Replace(.Files(i).strFileName, RepIN & "\", "")

'Pathway = Replace(.Files(i).strPathName & "\" & .Files(i).strFileName, RepIN & "\", "")
:confused: la ligne ci-dessus était censée me permettre de faire d'inclure tous les fichiers trouvés en .csv dans la boucle... mais ne marche pas, je n'arrive pas à afficher l'antislash avant Files(i).strFileName :confused:

Pathway = "C:\Documents and Settings\Adrien\Bureau\macro excel\Fichiers sources\c.csv" --> du coup j'ai essayé d'avancer en fixant l'adresse comme on voit au dessus.

Workbooks.Open Filename:=Pathway

Workbooks(Filename).Worksheets(".Files(i).strFileType").Activate
Range("A3:A103").Select
Debug.Print Range("A3:A103")

'la partie à copier dans le fichier à consolider
'je pense que le range ne fonctionne pas car la fenêtre exécution affiche la case A1 'pour tous les fichiers..

Range("A3:A103").Select
Application.CutCopyMode = False
Selection.Copy
Windows(FichOUT).Activate
Workbooks(FichOUT).Worksheets(1).Rows(j).Select
ActiveSheet.Paste

j = j + 100

Workbooks(Filename).Close False

'FIN BOUCLE SUR LES FICHIERS---------------------------------------

Next i

Else
MsgBox "There were no files found."

On Error GoTo 0

End If

End With
Set Recherche = Nothing
End Sub


Merci d'avance
 

Pièces jointes

  • Macro.docx
    13.2 KB · Affichages: 51
  • Macro.docx
    13.2 KB · Affichages: 59
  • Macro.docx
    13.2 KB · Affichages: 58

Discussions similaires

Statistiques des forums

Discussions
311 729
Messages
2 081 971
Membres
101 852
dernier inscrit
dthi16088