Macro qui fonctionne sous PC mais pas sous MAC

Fermé
Valérie - Modifié par Valérie le 11/10/2016 à 11:06
Mike-31 Messages postés 18310 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 29 mars 2024 - 11 oct. 2016 à 17:17
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 18310 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 29 mars 2024 5 073
Modifié par Mike-31 le 11/10/2016 à 12:52
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
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 24569 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 28 décembre 2023 7 211
Modifié par eriiic le 11/10/2016 à 16:14
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 18310 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 29 mars 2024 5 073
Modifié par Mike-31 le 11/10/2016 à 18:12
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
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