Problème macro VBA Excel 2016 pour MAC

Bonjour,

j'ai créé la macro suivante sous excel 2011 pour mac:

Sub ENRE()

'

Sheets("facture").Select

Chemin = "/Users/denisjullien/Google Drive/factures/"

Texte = "18/19DV" & Cells(11, 2) & Cells(15, 1) & Cells(13, 3)

Application.DisplayAlerts = False

ActiveSheet.ExportAsFixedFormat Type:=XIFixedformatTypePDF, _

Filename:=Texte, _

Quality:=x1QualityStandard, _

IncludeDocProperties:=True, _

IgnorePrintAreas:=True, _

OpenAfterPublish:=False

Cette macro ne fonctionne plus sous excel 2016, a l'origine, le bouton " ENREGISTRER " génère un fichier au format PDF, mais sous excel 2016 pour mac, elle envoie un fichier vers l'imprimante.

Quelqu'un peut il m'aider?

Merci d'avance

Bonjour,

La constante de type est xlTypePDF.

NB- Il serait bon d'épurer ton code enregistré...

Cordialement.

Bonjour

Oui normal avec excel 2016, vous allez devoir changer le code

Que cherchez-vous à faire ? Sauvegarder votre fichier en pdf ?

Pour cette variable Chemin ? Vous ne l'utilisez pas dans le code.

Cordialement

J'ai effectué la modification, le problème persiste.

N'est ce pas un problème de compatibilité entre VBA et excel 2016?

Bonjour Dan,

Oui, je cherche a enregistrer la feuille au format PDF, cela fonctionnait bien jusqu'à présent.

Re,

Aucun rapport avec VBA et excel, ce sont les aspects sécurités d'APPLE qui impose de travailler autrement

Je ne pense pas que cela va fonctionner mais avez-vous essayé ceci

Sheets("facture").Select
 Chemin = "/Users/denisjullien/Google Drive/factures/"
 Texte = "18/19DV" & Cells(11, 2) & Cells(15, 1) & Cells(13, 3)  & ".pdf"
 Application.DisplayAlerts = False

 ActiveSheet.ExportAsFixedFormat Type:=XITypePDF, _
 Filename:=Chemin & Texte, _
 Quality:=x1QualityStandard, _
 IncludeDocProperties:=True, _
 IgnorePrintAreas:=True, _
 OpenAfterPublish:=False

Cordialement

Re,

Aucun rapport avec VBA et excel, ce sont les aspects sécurités d'APPLE qui impose de travailler autrement

Je ne pense pas que cela va fonctionner mais avez-vous essayé ceci

Sheets("facture").Select
 Chemin = "/Users/denisjullien/Google Drive/factures/"
 Texte = "18/19DV" & Cells(11, 2) & Cells(15, 1) & Cells(13, 3)  & ".pdf"
 Application.DisplayAlerts = False

 ActiveSheet.ExportAsFixedFormat Type:=XITypePDF, _
 Filename:=Chemin & Texte, _
 Quality:=x1QualityStandard, _
 IncludeDocProperties:=True, _
 IgnorePrintAreas:=True, _
 OpenAfterPublish:=False

Cordialement

Merci pour votre aide,

Effectivement, le problème reste inchangé, la macro ne crée pas de fichier PDF, mais envoie la feuille vers l'imprimante

Re

En relisant votre demande, c'est sur Google drive que vous voulez placer votre fichier ou sur le disque du MAC ?

Re

En relisant votre demande, c'est sur Google drive que vous voulez placer votre fichier ou sur le disque du MAC ?

Cela n'a pas d'importance, les deux sont possible, si cela pose un problème de le placer dans un drive, je peux l'enregistrer sur le disque du mac

RE

Il faut aller créer un répertoire spécifique dans le répertoire de la bibliothèque comme ceci :

  • Sélectionner le Finder
  • Appuyer sur la touche ALT
  • Dans la barre de menu du Finder, sélectionner "Aller"
  • Cliquer sur "Bibliothèque"
  • Une fois dans le répertoire "Bibliothèque", ouvrir le répertoire "Group Containers" puis "UBF8T346G9.Office"
  • Dans ce répertoire, créer un dossier (par exemple PDF ou autre nom)
  • Une fois fait, créez un alias de ce dossier et mettez le sur le bureau ou dans la fenetre du Finder (pour avoir un accès direct)

Dites moi si vous arrivez à faire cela et donnez moi le nom du dossier créé

Re,

Aucun rapport avec VBA et excel, ce sont les aspects sécurités d'APPLE qui impose de travailler autrement

Bonjour,

En effet pour Mac office 2016 il y a problème avec " l'Apple sandbox " et les codes VBA.

Quelques solutions de contournement dans la langue de Shakespeare

http://www.rondebruin.nl/mac/mac005.htm

RE

Il faut aller créer un répertoire spécifique dans le répertoire de la bibliothèque comme ceci :

  • Sélectionner le Finder
  • Appuyer sur la touche ALT
  • Dans la barre de menu du Finder, sélectionner "Aller"
  • Cliquer sur "Bibliothèque"
  • Une fois dans le répertoire "Bibliothèque", ouvrir le répertoire "Group Containers" puis "UBF8T346G9.Office"
  • Dans ce répertoire, créer un dossier (par exemple PDF ou autre nom)
  • Une fois fait, créez un alias de ce dossier et mettez le sur le bureau ou dans la fenetre du Finder (pour avoir un accès direct)

Dites moi si vous arrivez à faire cela et donnez moi le nom du dossier créé

C'est fait, le dossier est nommé " PDF ", l'alias est sur le bureau

re

Dans le code que je t'ai donné dans mon post précédent, essaie en changeant la variable "chemin" par celle ci-dessous :

Chemin = "/users/denisjullien/Library/Group Containers/UBF8T346G9.Office/PDF/"

Cordialement

re

Dans le code que je t'ai donné dans mon post précédent, essaie en changeant la variable "chemin" par celle ci-dessous :

Chemin = "/users/denisjullien/Library/Group Containers/UBF8T346G9.Office/PDF/"

Cordialement

C'est fait, dans quel format dois je enregistrer le fichier, si j'essaie sous le format .xlsx, le message joint apparait.

J'ai essayé avec le nouveau chemin que tu m' as indiqué, mais il continue de créer un fichier à imprimer, et, est donc stocké dans la liste d'attente d'impression. J'ai l'impression qu'il " confond " le fichier pdf avec l'imprimante...

capture d ecran 2018 08 10 a 18 42 06

Re

Ben il faudrait savoir, d'un coté vous mettez un code pour l'enregistrer au format PDF puis là vous parlez de fichier xlsx ....

Vous cherchez à faire quoi au final ??

Quel est votre code ?

Re

Ben il faudrait savoir, d'un coté vous mettez un code pour l'enregistrer au format PDF puis là vous parlez de fichier xlsx ....

Vous cherchez à faire quoi au final ??

Quel est votre code ?

Le classeur est enregistré au format xls, mais la macro dont on parle s'applique une feuille nommée " facture ", ma question portait sur le format d'enregistrement du classeur, car lorsque je modifie la macro, je sauvegarde le classeur.

Si vous voulez, je peux vous envoyer le classeur, ce sera peut être plus simple à comprendre, vous verrez la macro dans sa globalité

Re,

...ma question portait sur le format d'enregistrement du classeur, car lorsque je modifie la macro, je sauvegarde le classeur.

Ok, vous devez enregistrer au format XLSM car si votre fichier contient un code VBA et que vous voulez enregistrer au format XLSX, Excel vous renverra un message tel que celui vous avez posté dans un message précédent. Si vous répondez "oui" à ce message, Excel effacera le code.

Dans l'attente de votre retour pour l'enregistrement en PDF

Re,

...ma question portait sur le format d'enregistrement du classeur, car lorsque je modifie la macro, je sauvegarde le classeur.

Ok, vous devez enregistrer au format XLSM car si votre fichier contient un code VBA et que vous voulez enregistrer au format XLSX, Excel vous renverra un message tel que celui vous avez posté dans un message précédent. Si vous répondez "oui" à ce message, Excel effacera le code.

Dans l'attente de votre retour pour l'enregistrement en PDF

merci, en fait, le bouton ENREGISTRER est censé créer une sauvegarde de la feuille " facture " au format PDF, et depuis excel 2016, il envoie directement cette facture vers l'imprimante.

Le classeur est en pièce jointe, peut cela vous facilitera la tâche d'avoie le dossier dans sa globalité

25facturevierge.zip (107.34 Ko)

Re

Votre fichier ne contient les modifications que je vous ai données. Comment savoir si cela fonctionne alors ?

Il y a déjà un truc qui ne va pas (cela m'avait échappé). Vous ne pouvez pas utiliser de / dans le nom de vos fichiers ou dossiers (idem pour les : que je vois dans le code)

Texte = "18 / 19DV" & Cells(11, 2) & Cells(15, 1) & Cells(13, 3)

Mettez déjà ceci

Texte = "18-19DV" & Cells(11, 2) & Cells(15, 1) & Cells(13, 3) & ".pdf"

Ensuite appliquez les modifications dont on a parlées avant (création dossier PDF et variable Chemin à changer) et refaite un test

Re

Votre fichier ne contient les modifications que je vous ai données. Comment savoir si cela fonctionne alors ?

Il y a déjà un truc qui ne va pas (cela m'avait échappé). Vous ne pouvez pas utiliser de / dans le nom de vos fichiers ou dossiers (idem pour les : que je vois dans le code)

Texte = "18 / 19DV" & Cells(11, 2) & Cells(15, 1) & Cells(13, 3)

Mettez déjà ceci

Texte = "18-19DV" & Cells(11, 2) & Cells(15, 1) & Cells(13, 3) & ".pdf"

Ensuite appliquez les modifications dont on a parlées avant (création dossier PDF et variable Chemin à changer) et refaite un test

C'est parfait, cela fonctionne désormais, merci beaucoup pour votre aide!!!!

Rechercher des sujets similaires à "probleme macro vba 2016 mac"