Code qui ne fonctionne plus - Sheet to PDF

zuli3n

XLDnaute Occasionnel
Bonsoir le forum,

Il y a presque deux ans j'utilisais un bout de code qui me permétait d'enregistrer ma feuil1 en PDF. Tout fonctionnait très bien, mais aujourd'hui il ne fonctionne plus et je ne trouve pas pourquoi. C'est pourquoi je demande votre aide s'il vous plait.

Code:
Private Sub CommandButton2_Click()

Dim wsh As Worksheet, vWshs, vWshName
Dim PatchEtNomPDF As String

NumPdv = Sheets("Feuil1").Range("G3").Value

Dim Bureau As String
Bureau = CreateObject("WScript.Shell").SpecialFolders("Desktop")

PatchPDF = Bureau & "\" & "S-N_Pdv" & NumPdv

vWshs = Array("Feuil1")
With ActiveWorkbook
    For Each vWshName In vWshs
        .Worksheets(vWshName).ExportAsFixedFormat Type:=xlTypePDF, FileName:= _
            PatchPDF, Quality:=xlQualityStandard, _
            IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:=False
            
    Next vWshName
End With

End Sub

l'erreur vient de "Next vWshName" je capte pas pourquoi.
Quand je lance le code en faisant F8 (pas à pas) j'ai pas cette erreur .... :confused:


En vous remerciant,
Cordialement.
 
Dernière édition:

Roland_M

XLDnaute Barbatruc
Re : Code qui ne fonctionne plus - Sheet to PDF

bonsoir,

j'ai essayer ceci et ça fonctionne ! à condition qu'il y ai des données sur la feuille
pour mon essai j'ai mis NumPdv = 1
REM: tu n'es pas cohérent dans la déclaration de tes variables !

Dim PatchEtNomPDF As String
Dim Bureau As String

NumPdv = 1 ' Sheets("Feuil1").Range("G3").Value

Bureau = CreateObject("WScript.Shell").SpecialFolders("Desktop")

PatchEtNomPDF = Bureau & "\" & "S-N_Pdv" & NumPdv

Worksheets("Feuil1").ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
PatchEtNomPDF, Quality:=xlQualityStandard, _
IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:=False
 

zuli3n

XLDnaute Occasionnel
Re : Code qui ne fonctionne plus - Sheet to PDF

Bonsoir Roland_M, le forum,

REM: tu n'es pas cohérent dans la déclaration de tes variables !

Effectivement j'ai oublié de corriger mon past. Sur mon ancien fichier tout est correctement cohérent.
Je viens de tester ton bout de code ( qui à mon sens mieux que celui que j'utilisais ) et j'ai la même erreur, dans l'éditeur visual basic, quand je fais F8 tout fonctionne mais quand je fais F5 j'ai un message d'erreur "Exécution interrompue" quand je clique sur "Débogage" ça me surligne "End sub" vraiment bizarre :/ Je vois vraiment pas quoi peut générer cette erreur, je suis preneur de toutes idées.

Cordialement.
 

zuli3n

XLDnaute Occasionnel
Re : Code qui ne fonctionne plus - Sheet to PDF

Bonjour le forum,

J'ai résolue mon problème en mettant à jours mon OS, c'était tout de même bizarre.
En tout cas merci Roland_M d'avoir testé, ça m'a permis de creuser et de me rendre compte que le soucis venait de ma machine du boulot. Merci.

Cordialement
 

Roland_M

XLDnaute Barbatruc
Re : Code qui ne fonctionne plus - Sheet to PDF

re
concernant ton post#3

sans ton fichier personne ne peut te répondre !
les messages d'erreurs sont parfois déroutants !

exemple ici: tu auras un message d'erreur "Next sans For"
alors que c'est un If sans End If
parceque tu as un Next dans la suite de If Then avant le end if

Sub Essai()
For I = 1 To 10
If T Then
MsgBox I
Next
End Sub
 

Staple1600

XLDnaute Barbatruc
Re : Code qui ne fonctionne plus - Sheet to PDF

Bonjour à tous


Une autre simplification du code VBA du message 1
(test OK sur Excel 2013)
Code:
Private Sub CommandButton2_Click()
Dim wsh As Worksheet, Bureau$, PatchPDF$
Bureau = CreateObject("WScript.Shell").SpecialFolders(10)
With Sheets(1)
    PatchPDF = Bureau & "\" & "S-N_Pdv" & .[G3].Text
    .ExportAsFixedFormat Type:=xlTypePDF, _
    Filename:=PatchPDF, Quality:=xlQualityStandard, IncludeDocProperties:=True
End With
End Sub

Et une variante (à ma sauce) un chouia plus courte. ;)
Code:
Private Sub CommandButton2_Click()
Dim wsh As Worksheet, Bureau$, PatchPDF$
Bureau = CreateObject("WScript.Shell").SpecialFolders(10)
With Sheets(1)
    PatchPDF = Bureau & "\" & Format(.[G3], """S-N_Pdv""000")
    .ExportAsFixedFormat 0, PatchPDF, 0, True
End With
End Sub
 

zuli3n

XLDnaute Occasionnel
Re : Code qui ne fonctionne plus - Sheet to PDF

Bonsoir Roland_M, Staple1600, le forum,

Depuis que j'ai mis mon OS à jour avec des maj office, je n'arrives plus à reproduire l'erreur initial. Tout fonctionne normalement désormais, merci à vous pour votre aide, non seulement j'ai réglé mon soucis mais en plus j'ai un bout de code optimisé :) Merci.

Cordialement.
 

Membres actuellement en ligne

Statistiques des forums

Discussions
314 628
Messages
2 111 337
Membres
111 104
dernier inscrit
JEMADA