Compatibilité PC / Mac

Bonjour à tous.

Avec l'aide d'un super membre de ce forum (), on a créer une petite macro qui incrémenté automatiquement le numéro de facture sur mon formulaire de facture vierge, et le sauve automatiquement à la fermeture sous un nom "Facture " + numéro. Ensuite bien sur ce fichier ne change plus de numéro à chaque ouverture.

Cela fonctionne parfaitement sur PC, mais pas sur Mac, pourtant on a bien tenu compte dans la macro du séparateur différent sur PC et Mac.

Ci joint le fichier, quelqu'un a t'il eu le même problème ?

Merci d'avance, bon WE à tous.

8essai.xlsm (15.48 Ko)

Bonjour,

un essai avec récupération du type de système actuel, puis un select case pour initialiser le séparateur :

Option Explicit

Private Sub Workbook_Open()

    If Left(ActiveWorkbook.Name, 7) = "Facture" Then Exit Sub

    Range("E1") = Range("E1") + 1
    ActiveWorkbook.Save

End Sub
Private Sub Workbook_BeforeClose(Cancel As Boolean)
    Dim Chemin As String, Numero_facture As Integer, Sep As String, Sys As String
    Sys = UCase(Left$(Application.OperatingSystem, 3))
    If Left(ActiveWorkbook.Name, 7) = "Facture" Then Exit Sub
    Select Case Sys
        Case "WIN"
            Sep = "/"
        Case "MAC"
            Sep = ":"
    End Select
    Chemin = ActiveWorkbook.Path
    Numero_facture = Range("E1")
    Application.DisplayAlerts = False

    ActiveWorkbook.SaveAs Filename:=Chemin & Sep & "Facture " & Numero_facture & ".xlsm"

End Sub

Le fichier :

@ bientôt

LouReeD

Merci LouReeD pour ta réponse, malheureusement toujours le même message d'erreur à la fermeture sur Mac lors de la tentative d'enregistrement !...

C'est bizzarre....

Salut Pascal,

Je me réfère à notre échange sur ton autre fil Copier Coller dans barre de formule.

J'ai tenté de remplacer le séparateur "\" par "/" sur PC et ça passe étonnement bien. Comme tu dis que ce séparateur "/" fonctionne pour un autre usage sur Mac, essaie donc le fichier ci-joint avec un séparateur unique.

Cordialement.

Et voici une info reçue de Dan :

****************************************

Le mieux est d'utiliser l'instruction Pathseparator
Donc .......................... mets le code comme ceci

Sub Enregistre()
Dim sp As String
    ........................
    sp = Application.PathSeparator
    ThisWorkbook.SaveAs Filename:=ThisWorkbook.Path & sp & Range("I1") & ".xlsm"
End Sub

Il y a d'autres manières de faire avec #If mac mais celle ci-dessus fonctionnera sur tous les MAC et WIndows

retiens que sur MAC les : c'est l'ancien séparateur avant 2016
Pour 2016 et suivant cela a été changé en /

Sous windows c'est resté \

****************************************

Merci à lui pour cette excellente explication

Yvouilles,

Ton fichier V3 de 07h44 fonctionne parfaitement sur les deux plateformes !!!

Parfait !!!

Je continue les validations....

Rechercher des sujets similaires à "compatibilite mac"