XL 2013 Impression pdf bug vba

Fitgy

XLDnaute Junior
Bonjour à tous le forum,

J'ai un fichier sur lequel j'imprime en pdf dans le dossier voulu avec le nom voulu. Jusque là impeccable ma VBA marché nickel mais voilà j'ai fermé mon excel je le réouvre et ça ne fonctionne plus mais pooouurquooii 😭 j'ai beau tourner dans tout les sens je ne comprends pas ce qui ne lui plaît pas et encore plus du fait qu'elle marché avant...
Je vous met en jaune ce que le débogage me surligne.

Merci d'avance à ceux qui pourront m'aider
Ma VBA :
Sub ImpressionPDF()
Fichier = Range("F5") & ".pdf"
Dossier = "L:\Etude R&R\2021\"
Chemin = Dossier & Fichier

ActiveSheet.PageSetup.PrintArea = "$A$1:$R$45"
choix = MsgBox("Imprimer tout ?", vbQuestion + vbYesNoCancel + vbDefaultButton2, "Impression")
If choix = vbCancel Then Exit Sub
If choix = vbNo Then
' imprimer feuille
ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:=Chemin
ActiveSheet.PageSetup.PrintArea = ""
Else
' imprimer tout
Application.ScreenUpdating = False
savSelection = [F5]
For Each c In [F5]
[F5] = c.Value
[ActiveSheet.ExportAsFixedFormat Type:=xlsTypePDF, Filename:=Chemin
Next c
[F5] = savSelection
End If
ActiveSheet.PageSetup.PrintArea = ""
End Sub
 
Solution
Re Bonjour à tous,

Je viens à l'instant de trouver ce qui n'allait pas... Ce n'est pas de fermé et de rallumé qui pose problème ni le fait que la cellule soit fusionné simplement dans ma cellule F5 c'est une liste de déroulante de nom et certaine contienne des caractères interdit pour la sauvegarde du fichier comme des \ ou / par exemple.
J'ai dû faire mes essais sur des noms qui n'en avait pas et bloqué sur ceux qui en avait ce qui explique qu'elle ne fonctionné que de temps en temps...

Merci Kiki29 pour ce lien qui est très intéressant je vais étudier tes codes.
Merci à tous pour votre aide :)

fanch55

XLDnaute Barbatruc
Bonjour, il semblerait qu'un crochet ouvert se soit glissé en début de la ligne :
[ActiveSheet.ExportAsFixedFormat Type:=xlsTypePDF, Filename:=Chemin

Sinon ce code :
For Each c In [F5]
[F5] = c.Value​
ActiveSheet.ExportAsFixedFormat Type:=xlsTypePDF, Filename:=Chemin
Next c
ne me semble pas utile ou approprié car le fichier restant le même est écrasé à chaque itération 🤔
 
Dernière édition:

Fitgy

XLDnaute Junior
Bonjour fanch55,

Oui effectivement mais celui-ci enlevé ma macro ne fonctionne toujours pas :(

Sub ImpressionPDF()

ActiveSheet.Unprotect "0204"

Fichier = Range("F5") & ".pdf"
Dossier = "L:\Etude R&R\2021\"
Chemin = Dossier & Fichier

ActiveSheet.PageSetup.PrintArea = "$A$1:$R$45"
choix = MsgBox("Imprimer tout ?", vbQuestion + vbYesNoCancel + vbDefaultButton2, "Impression")
If choix = vbCancel Then Exit Sub
If choix = vbNo Then
' imprimer feuille
ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:=Chemin
ActiveSheet.PageSetup.PrintArea = ""
Else
' imprimer tout
Application.ScreenUpdating = False
savSelection = [F5]
For Each c In [F5]
[F5] = c.Value
ActiveSheet.ExportAsFixedFormat Type:=xlsTypePDF, Filename:=Chemin
Next c
[F5] = savSelection
End If
ActiveSheet.PageSetup.PrintArea = ""

ActiveSheet.Protect "0204", True, True, True

End Sub
 

Etoto

XLDnaute Barbatruc
Alors si cela fonctionnait cela peu être que pendant ce moment (entre y'a deux heures et maintenant) Tu as peut-être modifié un dossier ou quelque chose qui aurait put modifier le chemin, parce que je croit que le problème vient du chemin.
 

Fitgy

XLDnaute Junior
Bah non mon chemin n'a pas bougé il est correcte je n'ai même pas touché à l'ordinateur pendant ce petit laps de temps 🤔
On m'a fait protégé la page par un code, je viens de me dire ça peux venir de là ? j'ai donc rajouté à ma VBA ce qu'il faut pour qu'elle fonctionne malgré la protection mais non ça ne fonctionne toujours pas :/
Sub ImpressionPDF()

ActiveSheet.Unprotect "0204"

Fichier = Range("F5") & ".pdf"
Dossier = "L:\Etude R&R\2021\"
Chemin = Dossier & Fichier

ActiveSheet.PageSetup.PrintArea = "$A$1:$R$45"
choix = MsgBox("Imprimer tout ?", vbQuestion + vbYesNoCancel + vbDefaultButton2, "Impression")
If choix = vbCancel Then Exit Sub
If choix = vbNo Then
' imprimer feuille
ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:=Chemin
ActiveSheet.PageSetup.PrintArea = ""
Else
' imprimer tout
Application.ScreenUpdating = False
savSelection = [F5]
For Each c In [F5]
[F5] = c.Value
ActiveSheet.ExportAsFixedFormat Type:=xlsTypePDF, Filename:=Chemin
Next c
[F5] = savSelection
End If
ActiveSheet.PageSetup.PrintArea = ""

ActiveSheet.Protect "0204", True, True, True

End Sub
 

Discussions similaires

Réponses
22
Affichages
1 K

Statistiques des forums

Discussions
312 196
Messages
2 086 098
Membres
103 116
dernier inscrit
kutobi87