IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Macros et VBA Excel Discussion :

Compatibilité des Macro entre PC et Mac


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre émérite
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    592
    Détails du profil
    Informations personnelles :
    Âge : 75
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 592
    Par défaut Compatibilité des Macro entre PC et Mac
    Bonjour,

    Je suis en train de migrer quelques macro excel de PC vers Mac, ou plus exactement de les rendre compatibles des deux OS.
    Et là je tombe sur un os dans la macro suivante qui liste des fichiers d'un répertoire avec les dates de création, modification et accès aux fichiers.
    Sur PC cette macro fonctionne, sur Mac l'instruction :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
       Set fs = CreateObject("Scripting.FileSystemObject")
    est en erreur : "Un composant active X ne peut pas créer un objet"

    Merci de vos conseils.

    PPz

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    Sub list_fic()
        If Application.OperatingSystem Like "*Macintosh*" Then
            OS = "Mac"
            C_Separateur = ":"
        Else
            OS = "PC"
            C_Separateur = "\"
        End If
        NomPath = Application.ActiveWorkbook.Path & C_Separateur
        MsgBox (NomPath)
        Name_Fic = Dir(NomPath)
        For i = 1 To 4
            Call AfficheInfoAccesFichier(Name_Fic)
            Name_Fic = Dir
        Next
    End Sub
     
    Sub AfficheInfoAccesFichier(specfichier)
        Dim fs, f, s
        Set fs = CreateObject("Scripting.FileSystemObject")
        Set f = fs.GetFile(specfichier)
        s = UCase(specfichier) & vbCrLf
        s = s & "Créé le : " & f.DateCreated & vbCrLf
        s = s & "Dernier accès le : " & f.DateLastAccessed & vbCrLf
        s = s & "Dernière modification le : " & f.DateLastModified
        MsgBox s, 0, "Infos d'accès au fichier"
    End Sub

  2. #2
    Expert confirmé
    Avatar de kiki29
    Homme Profil pro
    ex Observeur CGG / Analyste prog.
    Inscrit en
    Juin 2006
    Messages
    6 132
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : ex Observeur CGG / Analyste prog.

    Informations forums :
    Inscription : Juin 2006
    Messages : 6 132
    Par défaut
    Salut, Scripting.FileSystemObject fait appel à la dll scrrun.dll sur PC et donc n'est pas disponible sur Mac

  3. #3
    Inactif  
    Profil pro
    Inscrit en
    Février 2010
    Messages
    517
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2010
    Messages : 517
    Par défaut
    salut

    essaye de jouer directement, pour cela, avec le n° de version Excel (office).
    Je ne peux le vérifier, mais il me semble me rappeler que, depuis 2001, Microsoft a différencié ses versions pour Mac en ajoutant un ".0" à la suiite de leur identificateur et de ne plus le faire pour ses versions pour les autres OS.
    A vérifier, donc :
    2001 - Excel 10.0 (Office v. X)

    2004 - Excel 11.0 (Office 2004 pour Mac)

    2008 - Excel 12.0 (Office 2008 pour Mac)
    Il reste que tu risques fort d'être confronté à d'autres problèmes du même style tout au long de ton appli si elle fait appel à des fonctions liées à des librairies de Windows.

  4. #4
    Membre émérite
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    592
    Détails du profil
    Informations personnelles :
    Âge : 75
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 592
    Par défaut
    Il va falloir faire des contournements. Je ne suis pas au bout de mes difficultés.

    En fait j'utilise la version 2001 - Excel 10.0 (office v.X)


    Merci de votre aide

  5. #5
    Inactif  
    Profil pro
    Inscrit en
    Février 2010
    Messages
    517
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2010
    Messages : 517
    Par défaut
    Regarde du côté de
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Application.VBE.Version
    si = 10.0 , tu devrais être sous Mac

  6. #6
    Membre émérite
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    592
    Détails du profil
    Informations personnelles :
    Âge : 75
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 592
    Par défaut
    C'est drôle j'obtiens 5.00 !!!
    A+

Discussions similaires

  1. Compatibilité des Macro entre PC et Mac
    Par macduss dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 18/01/2015, 15h55
  2. [PPT-2003] Compatibilité des macros entre 2003 & 2010
    Par Guy_L dans le forum VBA PowerPoint
    Réponses: 1
    Dernier message: 06/01/2014, 20h36
  3. [E97] et [E2003] Compatibilité des macros
    Par ouisansdoute dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 07/11/2008, 10h29
  4. compatibilite des macros sous differentes version d'excel
    Par emillio dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 11/03/2008, 16h54
  5. Réponses: 2
    Dernier message: 10/05/2007, 17h12

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo