Word Gnérer PDF et changer le titre

Marine_blatz

XLDnaute Nouveau
Bonjour,

quelqu'un aurait t-il la gentillesse de m'aider à a faire une macro ?

j'ai un doc excel et son titre fini par R0.

je souhaite que quand j'associe un racourci clavié exemple ctrl+m et sur mon document ouvert
il se passe cette action:

exemple:

titre du doc word: "azerty-R0"
j'execute la macro pour la quelle j'ai besoin de votre aide
il génére une copie (dans le même dossier) en pdf et renomme la copie pdf en : "azerty-P" (il sup le R0 pour remplacer par P quoi...)

enregistre le word en docx, et le ferme
sans ouvrir l'appercu PDF.

Celui qui reussi à me faire ca c'est un génie voila qui fait 17h que j'essaye de reussir ma premiere ligne de code mdr

Cordialement
marina

on ma déjà répondu mais j'ai des problème avec "le mot clé .ME" je ne sais pas quoi faire sincérement je suis perdu
 

Pièces jointes

  • azerty-R0.docm
    21.7 KB · Affichages: 3
Solution
Modifiez le code avec celui ci-dessous
VB:
Option Explicit

Private Sub Document_Open()
    CustomizationContext = ActiveDocument
    KeyBindings.Add _
         KeyCode:=BuildKeyCode(wdKeyControl, wdKeyM), _
         KeyCategory:=wdKeyCategoryCommand, _
         Command:="Export"
    If Err = 0 Then MsgBox "La macro ""Export"" a été assignée aux touches CTRL+M"
End Sub

Sub Export()
Dim NomFich As String
    NomFich = Split(ActiveDocument.FullName, "-")(0) & "-P.pdf"
   
    ActiveDocument.ExportAsFixedFormat NomFich, wdExportFormatPDF
    If Err = 0 _
    Then MsgBox NomFich & vbLf & "a été enregistré ", vbInformation _
    Else MsgBox NomFich & vbLf & Err.Description, vbCritical
   
    Application.DisplayAlerts = False...

fanch55

XLDnaute Barbatruc
Si vous voulez que cela fonctionne pour tous les documents Word sur votre PC, copiez tout le code dans le module "ThisDocument " du groupe "normal".
Ceci dit, le code est adapté à votre demande initiale .

1640438139550.png

Sinon, un topic à propos de macro partagée :

C'est à vous maintenant de faire en sorte que vos documents fonctionnent .
 

Marine_blatz

XLDnaute Nouveau
Si vous voulez que cela fonctionne pour tous les documents Word sur votre PC, copiez tout le code dans le module "ThisDocument " du groupe "normal".
Ceci dit, le code est adapté à votre demande initiale .
Regarde la pièce jointe 1125691

Sinon, un topic à propos de macro partagée :

C'est à vous maintenant de faire en sorte que vos documents fonctionnent .
quelqu'un saurait m'expliquer comment générer les macros qu'on m'envoi ?elles marche que dans vos documents. Renvoyé

Je suis littéralement entrain de denouveau pleurer devant mon document...j'ai déjà passé des jours à essayer encore et encore ...

Pourquoi quand je stock les macros dans normal à l'exécution on me dit variable non définie " ExportAsFixedFormat" surligné en jaune.

j' doit stocker ou la macro ?

NORMAL
---newmacros
---thisdocument
PROJET (azerty-R0)
---référence à normal
---thisdocument

merci de votre aide
Je suis seul pour noël et en plus je pleure devant des macros my life be like...
 

fanch55

XLDnaute Barbatruc
Copiez le code ci-joint dans le module
NORMAL
---newmacros
---thisdocument
PROJET (azerty-R0)
---référence à normal
---thisdocument

VB:
Option Explicit

Private Sub Document_Open()
    CustomizationContext = ActiveDocument
    KeyBindings.Add _
         KeyCode:=BuildKeyCode(wdKeyControl, wdKeyM), _
         KeyCategory:=wdKeyCategoryCommand, _
         Command:="Export"
     If Err = 0 Then MsgBox "Export is assigned to CTRL+M"
End Sub

Sub Export()
Dim NomFich As String
    NomFich = Split(ActiveDocument.FullName, "-")(0) & "-P.pdf"
    ExportAsFixedFormat NomFich, wdExportFormatPDF
    Application.DisplayAlerts = False
    Application.Quit wdSaveChanges
End Sub

Private Sub Document_Close()
    FindKey(BuildKeyCode(wdKeyControl, wdKeyM)).Disable
End Sub
 

Marine_blatz

XLDnaute Nouveau
Copiez le code ci-joint dans le module
NORMAL
---newmacros
---thisdocument
PROJET (azerty-R0)
---référence à normal
---thisdocument

VB:
Option Explicit

Private Sub Document_Open()
    CustomizationContext = ActiveDocument
    KeyBindings.Add _
         KeyCode:=BuildKeyCode(wdKeyControl, wdKeyM), _
         KeyCategory:=wdKeyCategoryCommand, _
         Command:="Export"
     If Err = 0 Then MsgBox "Export is assigned to CTRL+M"
End Sub

Sub Export()
Dim NomFich As String
    NomFich = Split(ActiveDocument.FullName, "-")(0) & "-P.pdf"
    ExportAsFixedFormat NomFich, wdExportFormatPDF
    Application.DisplayAlerts = False
    Application.Quit wdSaveChanges
End Sub

Private Sub Document_Close()
    FindKey(BuildKeyCode(wdKeyControl, wdKeyM)).Disable
End Sub
Bonjour,
aucun message d'autres fichiers mais le -P.pdf ne se génére pas pourquoi? la fermeture l'enregistrement du docM marche pourtant
 

fanch55

XLDnaute Barbatruc
Modifiez le code avec celui ci-dessous
VB:
Option Explicit

Private Sub Document_Open()
    CustomizationContext = ActiveDocument
    KeyBindings.Add _
         KeyCode:=BuildKeyCode(wdKeyControl, wdKeyM), _
         KeyCategory:=wdKeyCategoryCommand, _
         Command:="Export"
    If Err = 0 Then MsgBox "La macro ""Export"" a été assignée aux touches CTRL+M"
End Sub

Sub Export()
Dim NomFich As String
    NomFich = Split(ActiveDocument.FullName, "-")(0) & "-P.pdf"
   
    ActiveDocument.ExportAsFixedFormat NomFich, wdExportFormatPDF
    If Err = 0 _
    Then MsgBox NomFich & vbLf & "a été enregistré ", vbInformation _
    Else MsgBox NomFich & vbLf & Err.Description, vbCritical
   
    Application.DisplayAlerts = False
    Application.Quit wdSaveChanges
End Sub

Private Sub Document_Close()
    FindKey(BuildKeyCode(wdKeyControl, wdKeyM)).Disable
End Sub

N'oubliez pas que pour générer le fichier PDF, il faut faire Ctrl+M .
(ou éventuellement faire un Exécuter sur la sub Export)
 

Marine_blatz

XLDnaute Nouveau
Modifiez le code avec celui ci-dessous
VB:
Option Explicit

Private Sub Document_Open()
    CustomizationContext = ActiveDocument
    KeyBindings.Add _
         KeyCode:=BuildKeyCode(wdKeyControl, wdKeyM), _
         KeyCategory:=wdKeyCategoryCommand, _
         Command:="Export"
    If Err = 0 Then MsgBox "La macro ""Export"" a été assignée aux touches CTRL+M"
End Sub

Sub Export()
Dim NomFich As String
    NomFich = Split(ActiveDocument.FullName, "-")(0) & "-P.pdf"
 
    ActiveDocument.ExportAsFixedFormat NomFich, wdExportFormatPDF
    If Err = 0 _
    Then MsgBox NomFich & vbLf & "a été enregistré ", vbInformation _
    Else MsgBox NomFich & vbLf & Err.Description, vbCritical
 
    Application.DisplayAlerts = False
    Application.Quit wdSaveChanges
End Sub

Private Sub Document_Close()
    FindKey(BuildKeyCode(wdKeyControl, wdKeyM)).Disable
End Sub

N'oubliez pas que pour générer le fichier PDF, il faut faire Ctrl+M .
(ou éventuellement faire un Exécuter sur la sub Export)
Le code control M me perturbe on peu l'enlever ? et juste mettre le code qui génére pdf et ferme tout ?
comme ca après je paramétre le raccourci vers l'execution d'une seu
 

fanch55

XLDnaute Barbatruc
Remplacez les codes du Normal/thisdocument par le code ci-dessous :
Nommez-le comme vous le désirez et exécutez le .
VB:
Sub Export()
Dim NomFich As String
    NomFich = Replace(CreateObject("Scripting.FileSystemObject").GetBaseName(ActiveDocument.Name), "-R0", "-P")
    NomFich = ActiveDocument.Path & "\" & NomFich & ".pdf"
    
    ActiveDocument.ExportAsFixedFormat NomFich, wdExportFormatPDF
    If Err = 0 _
    Then MsgBox NomFich & vbLf & "a été enregistré ", vbInformation _
    Else MsgBox NomFich & vbLf & Err.Description, vbCritical
    
    Application.DisplayAlerts = False
    Application.Quit wdSaveChanges

End Sub
 

Statistiques des forums

Discussions
298 792
Messages
1 971 813
Membres
203 481
dernier inscrit
kamrankaghar