Macro qui fonctionne sous PC mais pas sous MAC

Valérie -  
Mike-31 Messages postés 18405 Date d'inscription   Statut Contributeur Dernière intervention   -
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. Mike-31 Messages postés 18405 Date d'inscription   Statut Contributeur Dernière intervention   5 147
     
    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
  2. Valérie
     
    Bonjour Mike

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

    Merce
    0
  3. eriiic Messages postés 24581 Date d'inscription   Statut Contributeur Dernière intervention   7 281
     
    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. Mike-31 Messages postés 18405 Date d'inscription   Statut Contributeur Dernière intervention   5 147
       
      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
  4. Valérie
     
    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