yannick63430
XLDnaute Junior
Bonjour à tous ,
j'aimerais savoir s'il est possible d'automatiser les actions suivantes :
j'ai 37 fichiers excel dans un même dossier qui comporte un seul onglet contenant mes données.
je voudrais les rassembler sur un même fichier mais que mes 37 onglets se copient sur mon fichier final dans un nouvel onglet chacun (voir même s'il je peux nommer automatiquement le nouvel onglet par le nom du fichier???)
Cela pour obtenir un fichier avec 37 onglets.
ensuite j'ai réalisé une macro de base afin de convertir mes données en des données analysables mais comme je suis qu'un débutant je l'applique pour chaque onglet chacun leurs tours. Je voudrais savoir s'il y a un chemin d'écritures pour automatiser ma macro sur les 37 onglets d'un coup.
Merci d'avance en espérant avoir été clair dans ma demande.
Cordialement
Suite à ma demande on m'a proposé la macro suivante (Merci à l'auteur JM) :
Sub test_37_classeurs()
Dim dest As Workbook, source As Workbook, i&
Application.ScreenUpdating = False
On Error Resume Next
Set dest = ThisWorkbook
With Application.FileSearch
.NewSearch
.LookIn = "C:\TON_DOSSIER" 'ici adapter le nom du répertoire
.FileType = msoFileTypeExcelWorkbooks
If .Execute > 0 Then
For i = 1 To .FoundFiles.Count
Set source = Workbooks.Open(.FoundFiles(i), 0)
source.Sheets(1).Copy After:=dest.Sheets(dest.Sheets.Count)
dest.ActiveSheet.Name = source.Name
source.Close False
Next i
End If
End With
On Error GoTo 0
Application.ScreenUpdating = True
Set dest = Nothing
Set source = Nothing
End Sub
je l'ai copié et changé le dossier répertoire comme indiqué mais sans résultat, la macro ne fait rien.
Cordialement
j'aimerais savoir s'il est possible d'automatiser les actions suivantes :
j'ai 37 fichiers excel dans un même dossier qui comporte un seul onglet contenant mes données.
je voudrais les rassembler sur un même fichier mais que mes 37 onglets se copient sur mon fichier final dans un nouvel onglet chacun (voir même s'il je peux nommer automatiquement le nouvel onglet par le nom du fichier???)
Cela pour obtenir un fichier avec 37 onglets.
ensuite j'ai réalisé une macro de base afin de convertir mes données en des données analysables mais comme je suis qu'un débutant je l'applique pour chaque onglet chacun leurs tours. Je voudrais savoir s'il y a un chemin d'écritures pour automatiser ma macro sur les 37 onglets d'un coup.
Merci d'avance en espérant avoir été clair dans ma demande.
Cordialement
Suite à ma demande on m'a proposé la macro suivante (Merci à l'auteur JM) :
Sub test_37_classeurs()
Dim dest As Workbook, source As Workbook, i&
Application.ScreenUpdating = False
On Error Resume Next
Set dest = ThisWorkbook
With Application.FileSearch
.NewSearch
.LookIn = "C:\TON_DOSSIER" 'ici adapter le nom du répertoire
.FileType = msoFileTypeExcelWorkbooks
If .Execute > 0 Then
For i = 1 To .FoundFiles.Count
Set source = Workbooks.Open(.FoundFiles(i), 0)
source.Sheets(1).Copy After:=dest.Sheets(dest.Sheets.Count)
dest.ActiveSheet.Name = source.Name
source.Close False
Next i
End If
End With
On Error GoTo 0
Application.ScreenUpdating = True
Set dest = Nothing
Set source = Nothing
End Sub
je l'ai copié et changé le dossier répertoire comme indiqué mais sans résultat, la macro ne fait rien.
Cordialement