> Tous les forums > Forum Bureautique
 Enregistrement PDF en VBASujet résolu
Ajouter un message à la discussion
Page : [1] 
Page 1 sur 1
bruber
  Posté le 25/09/2017 @ 18:50 
Aller en bas de la page 
Petit astucien

Bonjour à tous,

Le code ci-dessous fonctionne et ne posait pas de problème.

Sub PDF_Fiche()
' Création du PDF (dans le répertoire courant)
If Sheets("Fiche").Range("B3") > 12 Then plage = "D1:I99" Else plage = "D1:I51" 'Définition de la zone d'impression
nom = Sheets("Fiche").Range("G2")
cours = Sheets("Fiche").Range("D2")
Sheets("Fiche").Range(plage).ExportAsFixedFormat Type:=xlTypexslm, FileName:= _
ActiveWorkbook.Path & "\" & nom & " (" & cours & ") " & ".PDF"
End Sub

Depuis quelques jours, il ne marche qu'une fois, la première. Je suis contraint de fermer Excel pour l'exécuter une seconde fois. Je ne pense pas que cela vienne du code mais je suis incapable de savoir pourquoi.

Si quelqu'un a rencontré ce problème et connait la solution, je suis preneur ...

Merci d'avance.

Publicité
ferrand
 Posté le 25/09/2017 à 23:25 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
  Astucien

Bonsoir,

Pour que cela marche plusieurs fois, il faut que le nom du fichier soit à chaque fois différent.

Cordialement.

bruber
 Posté le 26/09/2017 à 07:00 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Petit astucien

Bonjour, et merci pour votre réponse.

Je ne pense pas que cela vienne de là, car les variables "nom" et "cours" sont différentes à chaque enregistrement.

De plus cette macro fonctionnait même en l’exécutant plusieurs fois avec le même nom. (J'utilise Excel 2007 sur windows 10 mais l'an dernier j'avais windows 7 ... )

Cordialement.

Debrief
 Posté le 26/09/2017 à 08:04 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Astucien

Pour info chez moi (Windows 7 et Excel 2013) ton sub ne fonctionne pas à cause d'un argument Type:= non reconnu xlTypexslm de la méthode ExportAsFixedFormat d'ailleurs non listé dans la doc mais cependant présent sur des exemples web. En le remplaçant par xlTypePDF cela fonctionne de manière répétitive sur mon fichier sans avoir à le fermer.

Sub PDF_Fiche()
Dim plage, nom, cours As String
plage = "A1:B10"
' Création du PDF (dans le répertoire courant)
'If Sheets("Fiche").Range("B3") > 12 Then plage = "D1:I99" Else plage = "D1:I51" 'Définition de la zone d'impression
nom = Sheets("Fiche").Range("A2")
cours = Sheets("Fiche").Range("B2")
MsgBox ActiveWorkbook.Path & "\" & nom & " (" & cours & ") " & ".PDF"
Sheets("Fiche").Range(plage).ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
ActiveWorkbook.Path & "\" & nom & " (" & cours & ") " & ".PDF"
End Sub

P.S. quand le fichier a le même nom il est simplement remplacé sans avertissement dans ce contexte.



Modifié par Debrief le 26/09/2017 08:06
bruber
 Posté le 26/09/2017 à 08:26 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Petit astucien

Bonjour,

Je viens de tenter l'envoi des PDF (macro incluse dans une boucle de traitement) à partir d'un autre ordinateur sous la même configuration que la mienne et ça a fonctionné correctement.

Je viens de faire l'essai avec le Type:=xlTypePDF , ce qui est plus rationnel, (je n'avais même pas remarqué la différence de type puisque cela fonctionnait).

Malheureusement, j'ai le même problème. Je pense qu'il peut s'agir d'un problème de mise à jour Excel que j'ai faite sur mon PC

En tout cas merci pour votre aide.

Cordialement.

Page : [1] 
Page 1 sur 1

Vous devez être connecté pour participer à la discussion.
Cliquez ici pour vous identifier.

Vous n'avez pas de compte ? Créez-en un gratuitement !
Recevoir PC Astuces par e-mail


La Lettre quotidienne +226 000 inscrits
Avec l'actu, des logiciels, des applis, des astuces, des bons plans, ...

Les bonnes affaires
Une fois par semaine, un récap des meilleurs offres.

Les fonds d'écran
De jolies photos pour personnaliser votre bureau. Une fois par semaine.

Les nouveaux Bons Plans
Des notifications pour ne pas rater les bons plans publiés sur le site.

Les bons plans du moment PC Astuces

Tous les Bons Plans
99,99 €Disque dur Toshiba N300 4 To à 99,99 €
Valable jusqu'au 18 Juin

Cdiscount propose actuellement le disque dur Toshiba N300 4 To à 99,99 € livré gratuitement. On le trouve ailleurs à partir de 119 €. Ce disque dur interne CMR est optimisé pour les NAS, il possède 128Mo de cache et offre d'une vitesse de rotation de 7200 tpm.


> Voir l'offre
649,99 €Ordinateur portable Lenovo 15.6 pouces (FHD, Ryzen 7, 16Go RAM, SSD 512Go, GTX 1650 Ti) à 799,99 €
Valable jusqu'au 18 Juin

Cdiscount fait une promotion sur l'ordinateur portable Lenovo Ideapad 3 15ARH05 qui passe à 799,99 € alors qu'on le trouve habituellement à 999 €. Cet ordinateur portable dispose d'un écran 15,6 pouces Full HD (1920x1080), d'un processeur AMD Ryzen 7 4800H, de 16 Go de RAM, d'un SSD de 512 Go, d'une carte graphique dédiée GeForce GTX 1650 Ti 4 Go, d'une webcam, d'un lecteur de cartes mémoire et de connexions Bluetooth, WiFi, Ethernet, HDMI, USB 2.0 et USB 3.0. 


> Voir l'offre
81,99 €Disque dur Seagate BarraCuda 4 To à 81,99 €
Valable jusqu'au 18 Juin

Cdiscount propose actuellement le disque dur Seagate BarraCuda - 4 To (ST4000DM004) à 81,99 €. Ce disque dur 3.5 pouces SATA III tourne à 5400tr/min et possède 256 Mo de cache. On le trouve ailleurs autour de 95 €. 


> Voir l'offre

Sujets relatifs
Macro enregistrement fichier Excel
Enregistrement Conversations Facebook
pb enregistrement Userform
Sélection d'un enregistrement dans ACCESS
Excel impossible enregistrer, enregistrement temporaire
Enregistrement destinataires
ENREGISTREMENT FICHIER PAR IMPUTBOX
Enregistrement impossible
probleme d'enregistrement avec PDF-XChange Viewer
Enregistrement en PDF
Plus de sujets relatifs à Enregistrement PDF en VBA
 > Tous les forums > Forum Bureautique