XL 2016 Solution pour Ouverture ou pas PDF.

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

BALANCIE

XLDnaute Junior
Bonjour à tous,

Pour une fois pas de problème à résoudre mais une solution.
J'avais demandé une aide sur la possibilité d'ouvrir où pas après une sauvegarde d'une feuille Mois du Pdf.
Voici la solution que j'ai retenue, elle fonctionne à merveille, cela peut aider.

Merci encore à Lolote83, vgendron, et Dranreb.

Cette solution vient de :
cs_Le Pivert

'
par cs_Le Pivert

Sub PdfMOIS()
Dim nom As String
Dim dossier As String
Dim ouverture As Boolean ' variable Booléenne
If MsgBox("Générer le PDF du Mois ?", vbYesNo, _
"Demande de confirmation") <> vbYes Then Exit Sub
If MsgBox("Voulez vous ouvrir le PDF?", vbYesNo, _
"Demande d'ouverture") <> vbYes Then
ouverture = False
Else
ouverture = True
End If
dossier = ChoixDossier
If dossier = "" Then Exit Sub
nom = dossier & "\" & Range("B2")

ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:=nom _
, Quality:=xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas _
:=False, OpenAfterPublish:=ouverture 'variable Booléenne
End Sub
Function ChoixDossier()
If Val(Application.Version) >= 10 Then
With Application.FileDialog(msoFileDialogFolderPicker)
.InitialFileName = ActiveWorkbook.Path & "\"
.Show
If .SelectedItems.Count > 0 Then
ChoixDossier = .SelectedItems(1)
Else
ChoixDossier = "/"
End If
End With
Else
ChoixDossier = InputBox("Quel Répertoire ?")
End If
End Function



Bonne Journée.
Daryl.B

 

Pièces jointes

Bonjour BALANCIE, Bernard,

Bah beaucoup de gens sont des adeptes du plus c'est long plus c'est bon.

Ceci est quand même plus concis :
Code:
Sub PdfMOIS()
Dim dossier$
With Application.FileDialog(msoFileDialogFolderPicker)
    .InitialFileName = ThisWorkbook.Path & "\"
    If .Show Then dossier = .SelectedItems(1) Else Exit Sub
End With
ActiveSheet.ExportAsFixedFormat xlTypePDF, dossier & "\" & ActiveSheet.Name, _
    OpenAfterPublish:=MsgBox("Voulez vous ouvrir le PDF?", 4) = 6
End Sub
La MsgBox "Générer le PDF du Mois ?" était totalement inutile.

A+
 

Pièces jointes

Bonsoir job75,

Effectivement, c'est très largement plus court et diablement efficace.
Il et vrai que la mgbox....

Cela dit (écrit) et si je désire rajouter l'année au mois de l'onglet..(indiquée en E3)..
Juste pour continuer ma formation au VBA.

Merci encore, j'apprécie.
Daryl.B
 
Re,
Cela dit (écrit) et si je désire rajouter l'année au mois de l'onglet..(indiquée en E3)..
En B2 my dear !

Le plus simple est de mettre l'année dans le nom de l'onglet et d'entrer en B2 la formule classique :
Code:
=STXT(CELLULE("filename";A1);TROUVE("]";CELLULE("filename";A1))+1;31)
Fichier (2).

A+
 

Pièces jointes

Bonjour job75 ,

Parfait, de plus le code est court et va à l'ensentiel.
Il est vrai que pour l'année, le plus simple est forcement efficace.

Merci pour le coup de main.

Ce problème est réglé de nouveau.
Merci encore à tous ceux qui m'ont apporter leur aide, soit par le forum soit en Mp.
Bonne journée à tous.

Daryl.B
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
7
Affichages
267
Réponses
2
Affichages
153
  • Question Question
Microsoft 365 Problème de date
Réponses
5
Affichages
163
Retour