Vba Excel Fonction MacID fichier xlsb

HUGOBASS

Membre confirmé
5 Mai 2012
11
0
55
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
 
Bonjour,

Regarde dans l'exemple (un fichier à télécharger) dans cette page

Bonjour JacqR,

Merci d'avoir pris le temps de lire mon post et de me répondre.
Mes recherches m'ont aussi amenées sur la page dont tu m'as mis le lien et je suis en train d'étudier comment mettre en oeuvre la procédure en l'appliquant à mon cas précis. A priori cette solution est plus fiable et sur que MacId
Néanmoins j'aurais bien voulu savoir comment je pouvais utiliser mon code via MacId.

Encore une fois merci d'avoir réagis à mon message

cordialement
Hugues
 
Bonsoir,

Néanmoins j'aurais bien voulu savoir comment je pouvais utiliser mon code via MacId.
La commande Dir ne fonctionne pas correctement sur ma version de Excel (Microsoft Office 2016), je n'obtiens que le premier fichier avant que Excel plante.
Peut-être que cela ne fonctionne pas correctement sur la dernière version de Microsoft Office 2011, ou sur Maverick ou sur Yosemite.

Info sur votre code :
Chemin = Dossier & ":" , ceci bogue la commande Dir, car vous avez déjà le séparateur dans le chemin --> ThisWorkbook.Path & Application.PathSeparator
Comme vous utilisez la commande ChDir, il n'est pas nécessaire de spécifier le chemin dans la commande Dir, il suffit de mettre "".​

Essaie ceci

Bloc de code:
Dim Maitre As Workbook
Dim Compteur As Integer
Dim Nf As String
Dim K As Integer
Dim Chemin As String

Chemin = ThisWorkbook.Path & Application.PathSeparator
Application.ScreenUpdating = False
Set Maitre = ActiveWorkbook
ChDir ActiveWorkbook.Path
Nf = Dir("", MacID("XLS8"))
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
Application.ScreenUpdating = True
 
Bonjour Jackr,

Merci pour ton code qui bien qu'il m'a l'air corrigé de mes erreurs (merci à toi) ne fonctionne pas non plus mon EXCEL 2011 OSX MAVERICKS.

Je vais essayer autrement (je crois définitivement que dir n'est pas adapté à l'environnement EXCEL MAC).
Es tu content de ton office EXCEL MAC 2016 (J'imagine en office 365) ? As tu pu l'installer facilement ? Est ce que l'on on peut conserver la version 2011 en parallèle (comme cela était possible avec 2011 et 2008).

Cordialement
Hugues
 
Bonjour HUGOBASS,

Merci pour ton code qui bien qu'il m'a l'air corrigé de mes erreurs (merci à toi) ne fonctionne pas non plus mon EXCEL 2011 OSX MAVERICKS.

Je vais essayer autrement (je crois définitivement que dir n'est pas adapté à l'environnement EXCEL MAC).
Je crois que les problèmes proviennent de la sécurité accrue de l'OS (Maverick et Yosemite).
Car cela fonctionnait très bien avant sur Mac, car j'ai encore des fichiers Excel (en archive) avec des macros qui utilisaient la commande Dir et MacID

Donc, maintenant il faut utiliser utiliser un Applescript pour obtenir une liste de fichiers.

Es tu content de ton office EXCEL MAC 2016 (J'imagine en office 365) ?
Oui, pour mon utilisation basique.

As tu pu l'installer facilement ? Est ce que l'on on peut conserver la version 2011 en parallèle (comme cela était possible avec 2011 et 2008).
Oui, c'est sans problème, Microsoft installe la nouvelle version sans toucher à l'ancienne version.