Macro qui fonctionne sous PC mais pas sous MAC

Valérie -  
Mike-31 Messages postés 19571 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

A voir également:

4 réponses

Mike-31 Messages postés 19571 Date d'inscription   Statut Contributeur Dernière intervention   5 137
 
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
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
eriiic Messages postés 25847 Date d'inscription   Statut Contributeur Dernière intervention   7 279
 
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
Mike-31 Messages postés 19571 Date d'inscription   Statut Contributeur Dernière intervention   5 137
 
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
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