Bonjour à toutes et tous,
J'utilise sur Excel 2010 windows un code VBA qui me permet de fusionner plusieurs fichiers en un seul ((les feuilles de chacun des fichiers sources sont copier dans autant de feuilles dans le fichier compilé final).
J'essaye sans succès d'adapter mon code pour l'utiliser avec EXCEL MAC 2011.
Même si j'ai identifié que pour remplacer ma fonction DIR par la fonction MacId je n'arrive pas à trouver la bonne syntaxe pour notamment aller ouvrir tous mes fichiers ayant une extension xlsb.
Ci après mon code, en espérant que vous pourrez m'aider à le finaliser pour le rendre fonctionnel sous EXCELL MAC 2011
Cordialement
Hugues
Sub Compil()
Dim Maitre As Workbook
Dim Compteur As Integer
Dim Nf As String
Dim K As Integer
Dim Dossier As String
Dim Chemin As String
Dossier = ThisWorkbook.Path & Application.PathSeparator
Chemin = Dossier & ":"
Application.ScreenUpdating = False
ChDir ActiveWorkbook.Path
Set Maitre = ActiveWorkbook
Nf = Dir(Chemin, MacID("XLS8")) 'a mon avis c'est ici que cela ne fonctionne pas correctement
Do While Nf <> ""
If Nf <> Maitre.Name Then
With Workbooks.Open(Filename:=Nf)
For K = 1 To .Sheets.Count
.Sheets(K).Copy after:=Maitre.Sheets(Maitre.Sheets.Count)
ActiveSheet.Name = Replace(Nf, ".xlsb", "") & " " & K
Next K
.Close False
End With
End If
Nf = Dir
Loop
End Sub
J'utilise sur Excel 2010 windows un code VBA qui me permet de fusionner plusieurs fichiers en un seul ((les feuilles de chacun des fichiers sources sont copier dans autant de feuilles dans le fichier compilé final).
J'essaye sans succès d'adapter mon code pour l'utiliser avec EXCEL MAC 2011.
Même si j'ai identifié que pour remplacer ma fonction DIR par la fonction MacId je n'arrive pas à trouver la bonne syntaxe pour notamment aller ouvrir tous mes fichiers ayant une extension xlsb.
Ci après mon code, en espérant que vous pourrez m'aider à le finaliser pour le rendre fonctionnel sous EXCELL MAC 2011
Cordialement
Hugues
Sub Compil()
Dim Maitre As Workbook
Dim Compteur As Integer
Dim Nf As String
Dim K As Integer
Dim Dossier As String
Dim Chemin As String
Dossier = ThisWorkbook.Path & Application.PathSeparator
Chemin = Dossier & ":"
Application.ScreenUpdating = False
ChDir ActiveWorkbook.Path
Set Maitre = ActiveWorkbook
Nf = Dir(Chemin, MacID("XLS8")) 'a mon avis c'est ici que cela ne fonctionne pas correctement
Do While Nf <> ""
If Nf <> Maitre.Name Then
With Workbooks.Open(Filename:=Nf)
For K = 1 To .Sheets.Count
.Sheets(K).Copy after:=Maitre.Sheets(Maitre.Sheets.Count)
ActiveSheet.Name = Replace(Nf, ".xlsb", "") & " " & K
Next K
.Close False
End With
End If
Nf = Dir
Loop
End Sub