• Initiateur de la discussion Initiateur de la discussion sudo
  • Date de début Date de début

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 !

sudo

XLDnaute Nouveau
Bonsoir à tous,
ne connaissant pas grande chose en programmation et surtout en VBA, c'est la raison pour laquelle je me tourne vers vous.
je dispose d'un document word fonctionnant avec une macro ( enregistrer sous Normal.dotm).
lorsque j'ouvre le document word, je fais des modifications dessus par exemple, en bas, j'ai deux boutons : Sauvegarder pour enregistrer le document en pdf ou Annuler pour nettoyer tout ce qui a été saisi dans le document word.
J'ai pas écris le code, j'essaye de l'adapter à mon besoin
** Premier problème.
le document peut par exemple avoir 1, 2, 3, ou n page. mais j'aimerais que lorsque je clique sur sauvegarder, la fonction ne m'enregistrer que les pages n-1 et non les n pages.
c.a.d si j'ai 10 pages elle ne dois m'enregistrer que les 9 premières pages par exemples.
ci-dessous le code que j'utilise qui enregistre toutes les pages 5pour un document avec trois pages) lorsque je clique sur le bouton SAUVEGARDER. je voudrais rendre cela dynamique
sur le code ci-dessous, si le document à trois page, il n'enregistre que les deux premières


Pour ceux qui vont se demandent pourquoi enregistrer les pages n-1 ; mon soucis est que, je veux pas que les boutons Sauvegarder et Annuler apparaissent sur le document final, du coup ils sont sur la page suivante.
s'il y a d'autre moyen pour gérer cela, suis partant.



VB:
Public Sub Sauvegardepdf()

' Sauvegarde en .pdf iso 19005 1
ActiveDocument.ExportAsFixedFormat OutputFileName:= _
ChemFichTot, ExportFormat:=wdExportFormatPDF, _
OpenAfterExport:=True, OptimizeFor:=wdExportOptimizeForPrint, Range:= _
wdExportFromTo, From:=1, To:=2, Item:=wdExportDocumentContent, _
IncludeDocProps:=True, KeepIRM:=True, CreateBookmarks:= _
wdExportCreateNoBookmarks, DocStructureTags:=True, BitmapMissingFonts:= _
True, UseISO19005_1:=True
MsgBox "Fichier enregistré sous le nom :" & vbCrLf & NomFichSauv & ".pdf" & vbCrLf & _
"dans le dossier :" & vbCrLf & CheminFichier
' If varFctSauv(1) Then
ActiveDocument.Close savechanges:=wdDoNotSaveChanges
End If
End
 
Solution
Bonjour @sudo, @TooFatBoy, le fil

Test OK (Word 365)
La dernière page n'est pas dans le PDF
VB:
Sub WordPDF_Toutes_Sauf_LastOne()
Dim strPath$
strPath = "C:\Users\STAPLE\Documents\" 'adapter le chemin
NB_Pages = ActiveDocument.ActiveWindow.Panes(1).Pages.Count - 1
ActiveDocument.ExportAsFixedFormat OutputFileName:=strPath & "test_291022.pdf", _
                ExportFormat:=wdExportFormatPDF, OptimizeFor:=wdExportOptimizeForPrint, _
                Range:=wdExportFromTo, From:=1, To:=NB_Pages, Item:=wdExportDocumentContent, _
                DocStructureTags:=True, BitmapMissingFonts:=True, UseISO19005_1:=True
End Sub
Bonjour,

Pour ceux qui vont se demandent pourquoi enregistrer les pages n-1 ; mon soucis est que, je veux pas que les boutons Sauvegarder et Annuler apparaissent sur le document final, du coup ils sont sur la page suivante.
s'il y a d'autre moyen pour gérer cela, suis partant.
N'y a-t-il pas moyen, comme sous Excel, de configurer les boutons pour qu'ils ne s'impriment pas ?
 
Bonjour @sudo, @TooFatBoy, le fil

Test OK (Word 365)
La dernière page n'est pas dans le PDF
VB:
Sub WordPDF_Toutes_Sauf_LastOne()
Dim strPath$
strPath = "C:\Users\STAPLE\Documents\" 'adapter le chemin
NB_Pages = ActiveDocument.ActiveWindow.Panes(1).Pages.Count - 1
ActiveDocument.ExportAsFixedFormat OutputFileName:=strPath & "test_291022.pdf", _
                ExportFormat:=wdExportFormatPDF, OptimizeFor:=wdExportOptimizeForPrint, _
                Range:=wdExportFromTo, From:=1, To:=NB_Pages, Item:=wdExportDocumentContent, _
                DocStructureTags:=True, BitmapMissingFonts:=True, UseISO19005_1:=True
End Sub
 
Bonjour @sudo, @TooFatBoy, le fil

Test OK (Word 365)
La dernière page n'est pas dans le PDF
VB:
Sub WordPDF_Toutes_Sauf_LastOne()
Dim strPath$
strPath = "C:\Users\STAPLE\Documents\" 'adapter le chemin
NB_Pages = ActiveDocument.ActiveWindow.Panes(1).Pages.Count - 1
ActiveDocument.ExportAsFixedFormat OutputFileName:=strPath & "test_291022.pdf", _
                ExportFormat:=wdExportFormatPDF, OptimizeFor:=wdExportOptimizeForPrint, _
                Range:=wdExportFromTo, From:=1, To:=NB_Pages, Item:=wdExportDocumentContent, _
                DocStructureTags:=True, BitmapMissingFonts:=True, UseISO19005_1:=True
End Sub
Bonjour, je teste cela en journée et je te reviens.
Merci pour le temps mis
 
Bonjour @sudo, @TooFatBoy, le fil

Test OK (Word 365)
La dernière page n'est pas dans le PDF
VB:
Sub WordPDF_Toutes_Sauf_LastOne()
Dim strPath$
strPath = "C:\Users\STAPLE\Documents\" 'adapter le chemin
NB_Pages = ActiveDocument.ActiveWindow.Panes(1).Pages.Count - 1
ActiveDocument.ExportAsFixedFormat OutputFileName:=strPath & "test_291022.pdf", _
                ExportFormat:=wdExportFormatPDF, OptimizeFor:=wdExportOptimizeForPrint, _
                Range:=wdExportFromTo, From:=1, To:=NB_Pages, Item:=wdExportDocumentContent, _
                DocStructureTags:=True, BitmapMissingFonts:=True, UseISO19005_1:=True
End Sub
@Staple1600 merci encore pour ton code. j'ai pu l'adapter à mon problème et cela fonctionne Parfatement .
 
Dernière édition:
- 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
2
Affichages
849
Réponses
2
Affichages
403
Réponses
5
Affichages
605
Retour