Macro qui fonctionne sous PC mais pas sous MAC

Bonjour,

J'ai fait la macro suivante qui permet de générer une facture au format PDF et de l'enregistrer dans un fichier
Sub Bouton51_Cliquer()

' EnregistrementAutomatique Macro

Info1 = Range("C24")
If MsgBox("Avez-vous pensé à générer un nouveau numéro de facture ?", vbYesNo, "MNS Vous Informe") = vbYes Then
Chemin = ThisWorkbook.Path & "\Factures au Format PDF\"
ActiveWorkbook.ActiveSheet.ExportAsFixedFormat Type:=x1TypePDF, _
Filename:=Chemin & Info1 & "-" & ".Pdf", _
Quality:=x1QualityStandard, _
IncludeDocProperties:=True, _
IgnorePrintAreas:=False, _
From:=1, To:=1, _
OpenAfterPublish:=True
End If
End Sub
Mon problème est que nous travaillons à plusieurs dont une collègue qui est sous MAC et la macro ne fonctionne pas pour elle seulement. Elle a le message d'erreur suivant "Erreur 1004" Erreur définie par l'application ou par l'objet

Pouvez-vous m'aider SVP

Merci beaucoup

4 réponses

  1. Bonjour,

    Bizarre que le code fonctionne avec Bouton51, tu utilises bien le bouton ActiveX et tu colles le code
    Private Sub CommandButton1_Click()

    End Sub

    sinon tu crées un module dans le Visual Basic puis une macro
    exemple
    Sub Facture()

    End Sub

    tu colles le code et clic droit sur le bouton/Affecter une macro et tu pointes sur le titre du code Facture

    Info1 = Range("C24")
    Chemin = ThisWorkbook.Path & "\Factures au Format PDF\"
    If Dir(Chemin & Info1 & "-" & ".Pdf") = "" Then
    ActiveWorkbook.ActiveSheet.ExportAsFixedFormat Type:=x1TypePDF, _
    Filename:=Chemin & Info1 & "-" & ".Pdf", Quality:=x1QualityStandard, _
    IncludeDocProperties:=True, IgnorePrintAreas:=False, From:=1, _
    To:=1, OpenAfterPublish:=True
    Else
    MsgBox "Veuillez générer un nouveau numéro de facture en C24", , _
    "La facture " & Info1 & "-" & ".Pdf" & " existe déjà dans le répertoire"
    End If
    [C24].Select

    es ce que le fichier qui contient le code VBA est dans le même répertoire ou au même niveau que le dossier Factures au Format PDF

    A+
    Mike-31

    Pas savoir n'est pas un échec, l'échec est le refus d'apprendre.
    0
    1. Bonjour Mike

      Les deux fichiers celui qui contient le code et là ou j'enregistre sont dans le même répertoire.

      Merce
      0
      1. Contributeur
        Bonjour à tous,

        Mac n'utilise pas le même séparateur pour les chemins : et non \
        Reconstruit-les en utilisant Application.Path.Separator
        eric

        En essayant continuellement, on finit par réussir. 
        Donc plus ça rate, plus on a de chances que ça marche.(les Shadoks)
        En plus du merci (si si, ça se fait !!!), penser à mettre en résolu. Merci
        0
        1. Bonjour,

          Ah oui c'est vrai, et je n'ai plus de mac sous la main pour tester

          essaye voir mes souvenirs avec ce bout de code pour simplement ouvrir un fichier existant dont tu mettras le nom en cellule C24

          Dim MonChemin As String
          Info1 = Range("C24")
          MonChemin = ThisWorkbook.Path & Application.PathSeparator
          ActiveWorkbook.ActiveSheet.ExportAsFixedFormat Type:=x1TypePDF, _
          Filename:=MonChemin & Info1 & "-" & ".Pdf", Quality:=x1QualityStandard, _
          IncludeDocProperties:=True, IgnorePrintAreas:=False, From:=1, _
          To:=1, OpenAfterPublish:=True


          si ça marche on gérera l'erreur pour que le code fonctionne sur les deux types d'ordinateur
          0
      2. Merci Eriic,

        Je ne suis pas sûre de comprendre

        Peux-m'expliquer plus en détail ta réponse STP ?

        Il est nécessaire que le même code fonctionne sous Mac et PC

        Merci d'avance

        Valérie
        0