OVH Cloud OVH Cloud

Forcer le nom lors de la création d'un pdf

5 réponses
Avatar
Jacques
Salut a toutes et tous

Voila, j'ai ce code pour imprimer un PDF :

Sub Impression()
Dim TheNum As Byte, reponse1, reponse2
TheNum = CByte(Month(Date))
Sheets(TheNum).Activate
Masquer
'Impression de la fiche de paye
reponse1 = MsgBox("Voulez-vous imprimer la feuille de paye du mois de " &
Worksheets(TheNum).Name & " ? ", vbYesNo + vbQuestion, "VALIDATION")
If reponse1 = vbYes Then
With Sheets(TheNum)
.lblDateDeSignature = "Fait à : VALENCE" & vbTab _
& vbTab & "Le : " _
& Application.Proper(Format(Now, "dddd dd mmmm yyyy ")) _
& vbTab & vbTab & "Mode de réglement : Par chèque banquaire"
ActiveWindow.SelectedSheets.PrintOut Copies:=1
End With
'Création de la feuille du mois en pdf
reponse2 = MsgBox("Voulez-vous créer un pdf de la feuille de paye du mois de
" _
& Worksheets(TheNum).Name & " ? ", vbYesNo + vbQuestion, "VALIDATION")
If reponse2 = vbYes Then
Call CreationPDF
Else
USF_Menu.Show 0
End If
Afficher
Else
USF_ImpFeuilleDePayeAnterieurs.Show 0
End If
End Sub

Sub CreationPDF() 'Message sur forum, Objet : Création de fichier PDF

Dim TheNum As Byte
TheNum = CByte(Month(Date))

Dim Variable_Imp As String
Masquer
On Error GoTo ErrorHandler
Application.ScreenUpdating = False
Variable_Imp = Application.ActivePrinter 'mise en memoire de l'imprimante
par defaut
' (Port PDF) 'l'imprimante à utiliser
Application.ActivePrinter = _
"Acrobat PDFWriter sur LPT1:"
ActiveWindow.SelectedSheets.PrintOut Copies:=1, ActivePrinter:= _
"Acrobat PDFWriter sur D:\Fiche de paye nourisse\ & Year(Now())&
(TheNum).pdf", Collate:=True
Application.ActivePrinter = Variable_Imp ' reinitialiser l'imprimante pas
défaut
ErrorHandler:
Select Case Err.Number
Case 1004
MsgBox "Imprimante non disponible.", vbInformation, "INFORMATION"
Application.ActivePrinter = Variable_Imp
Case Else
Application.ActivePrinter = Variable_Imp
End Select
Application.ScreenUpdating = True
Afficher
End Sub
Sub Masquer()

Columns("AN:IV").EntireColumn.Hidden = True

End Sub
Sub Afficher()

Columns("AN:IV").EntireColumn.Hidden = False

End Sub

Mon souci et que j'aimerais forcer le nom du fichier créer de cette manière:

ex : Numéro du mois - Mois

Ce qui donnerai pour le moi de juin par exemple (Avec ou sans espace avant
et aprés le tiret, peu importe):

06-Juin

Donc en faisant ceci je pensais une partie de la chose en question, c'est a
dire le mois en cours, mais en vain.

ActiveWindow.SelectedSheets.PrintOut Copies:=1, ActivePrinter:= _
"Acrobat PDFWriter sur D:\Fiche de paye nourisse\ & Year(Now())&
(TheNum).pdf", Collate:=True

Donc la je fait l'impression sur le disque "D", dans le dossier "Fiche de
paye nourisse", et dans le sous dossier de l'année en cours,

mais je n'ai pas le numéro du mois (car je ne sais pas comment le récupérer,
quoi que j'ai un numéro dans les feuilles du mois qui correspondent au mois
sélectionné), mais j'ai encore moins le mois en cours.

Es-ce possible de faire cela? et comment ?

Je vous en remercie d'avance, Jacques

5 réponses

Avatar
Ange Ounis
Dans un coin de ton module de code (module ordinaire), recopie cette petite
fonction perso :

Function NomMois(Mois)
NomMois = Format(Mois, "00") & "-" & _
Application.Proper(Format(DateSerial(Year(Date), Mois, 1), "mmmm"))
End Function

Puis, dans ta procédure CreationPDF, remplace cette ligne :

ActiveWindow.SelectedSheets.PrintOut Copies:=1, ActivePrinter:= _
"Acrobat PDFWriter sur D:Fiche de paye nourisse & Year(Now())&
(TheNum).pdf", Collate:=True

par celle-ci :

ActiveWindow.SelectedSheets.PrintOut Copies:=1, ActivePrinter:= _
"Acrobat PDFWriter sur D:Fiche de paye nourisse" & _
Year(Now()) & "-" & NomMois(TheNum) & ".pdf", Collate:=True

----------
Ange Ounis
----------

Salut a toutes et tous

Voila, j'ai ce code pour imprimer un PDF :

Sub Impression()
Dim TheNum As Byte, reponse1, reponse2
TheNum = CByte(Month(Date))
Sheets(TheNum).Activate
Masquer
'Impression de la fiche de paye
reponse1 = MsgBox("Voulez-vous imprimer la feuille de paye du mois de " &
Worksheets(TheNum).Name & " ? ", vbYesNo + vbQuestion, "VALIDATION")
If reponse1 = vbYes Then
With Sheets(TheNum)
.lblDateDeSignature = "Fait à : VALENCE" & vbTab _
& vbTab & "Le : " _
& Application.Proper(Format(Now, "dddd dd mmmm yyyy ")) _
& vbTab & vbTab & "Mode de réglement : Par chèque banquaire"
ActiveWindow.SelectedSheets.PrintOut Copies:=1
End With
'Création de la feuille du mois en pdf
reponse2 = MsgBox("Voulez-vous créer un pdf de la feuille de paye du mois de
" _
& Worksheets(TheNum).Name & " ? ", vbYesNo + vbQuestion, "VALIDATION")
If reponse2 = vbYes Then
Call CreationPDF
Else
USF_Menu.Show 0
End If
Afficher
Else
USF_ImpFeuilleDePayeAnterieurs.Show 0
End If
End Sub

Sub CreationPDF() 'Message sur forum, Objet : Création de fichier PDF

Dim TheNum As Byte
TheNum = CByte(Month(Date))

Dim Variable_Imp As String
Masquer
On Error GoTo ErrorHandler
Application.ScreenUpdating = False
Variable_Imp = Application.ActivePrinter 'mise en memoire de l'imprimante
par defaut
' (Port PDF) 'l'imprimante à utiliser
Application.ActivePrinter = _
"Acrobat PDFWriter sur LPT1:"
ActiveWindow.SelectedSheets.PrintOut Copies:=1, ActivePrinter:= _
"Acrobat PDFWriter sur D:Fiche de paye nourisse & Year(Now())&
(TheNum).pdf", Collate:=True
Application.ActivePrinter = Variable_Imp ' reinitialiser l'imprimante pas
défaut
ErrorHandler:
Select Case Err.Number
Case 1004
MsgBox "Imprimante non disponible.", vbInformation, "INFORMATION"
Application.ActivePrinter = Variable_Imp
Case Else
Application.ActivePrinter = Variable_Imp
End Select
Application.ScreenUpdating = True
Afficher
End Sub
Sub Masquer()

Columns("AN:IV").EntireColumn.Hidden = True

End Sub
Sub Afficher()

Columns("AN:IV").EntireColumn.Hidden = False

End Sub

Mon souci et que j'aimerais forcer le nom du fichier créer de cette manière:

ex : Numéro du mois - Mois

Ce qui donnerai pour le moi de juin par exemple (Avec ou sans espace avant
et aprés le tiret, peu importe):

06-Juin

Donc en faisant ceci je pensais une partie de la chose en question, c'est a
dire le mois en cours, mais en vain.

ActiveWindow.SelectedSheets.PrintOut Copies:=1, ActivePrinter:= _
"Acrobat PDFWriter sur D:Fiche de paye nourisse & Year(Now())&
(TheNum).pdf", Collate:=True

Donc la je fait l'impression sur le disque "D", dans le dossier "Fiche de
paye nourisse", et dans le sous dossier de l'année en cours,

mais je n'ai pas le numéro du mois (car je ne sais pas comment le récupérer,
quoi que j'ai un numéro dans les feuilles du mois qui correspondent au mois
sélectionné), mais j'ai encore moins le mois en cours.

Es-ce possible de faire cela? et comment ?

Je vous en remercie d'avance, Jacques






Avatar
Jacques
Ange Ounis, le forum

Je te remercie, et j'essaye dans la matinée.

Merci beaucoup, Jacques
"Ange Ounis" a écrit dans le message de news:

Dans un coin de ton module de code (module ordinaire), recopie cette
petite fonction perso :

Function NomMois(Mois)
NomMois = Format(Mois, "00") & "-" & _
Application.Proper(Format(DateSerial(Year(Date), Mois, 1), "mmmm"))
End Function

Puis, dans ta procédure CreationPDF, remplace cette ligne :

ActiveWindow.SelectedSheets.PrintOut Copies:=1, ActivePrinter:= _
"Acrobat PDFWriter sur D:Fiche de paye nourisse & Year(Now())&
(TheNum).pdf", Collate:=True

par celle-ci :

ActiveWindow.SelectedSheets.PrintOut Copies:=1, ActivePrinter:= _
"Acrobat PDFWriter sur D:Fiche de paye nourisse" & _
Year(Now()) & "-" & NomMois(TheNum) & ".pdf", Collate:=True

----------
Ange Ounis
----------

Salut a toutes et tous

Voila, j'ai ce code pour imprimer un PDF :

Sub Impression()
Dim TheNum As Byte, reponse1, reponse2
TheNum = CByte(Month(Date))
Sheets(TheNum).Activate
Masquer
'Impression de la fiche de paye
reponse1 = MsgBox("Voulez-vous imprimer la feuille de paye du mois de " &
Worksheets(TheNum).Name & " ? ", vbYesNo + vbQuestion, "VALIDATION")
If reponse1 = vbYes Then
With Sheets(TheNum)
.lblDateDeSignature = "Fait à : VALENCE" & vbTab _
& vbTab & "Le : " _
& Application.Proper(Format(Now, "dddd dd mmmm yyyy ")) _
& vbTab & vbTab & "Mode de réglement : Par chèque
banquaire"
ActiveWindow.SelectedSheets.PrintOut Copies:=1
End With
'Création de la feuille du mois en pdf
reponse2 = MsgBox("Voulez-vous créer un pdf de la feuille de paye du mois
de " _
& Worksheets(TheNum).Name & " ? ", vbYesNo + vbQuestion,
"VALIDATION")
If reponse2 = vbYes Then
Call CreationPDF
Else
USF_Menu.Show 0
End If
Afficher
Else
USF_ImpFeuilleDePayeAnterieurs.Show 0
End If
End Sub

Sub CreationPDF() 'Message sur forum, Objet : Création de fichier PDF

Dim TheNum As Byte
TheNum = CByte(Month(Date))

Dim Variable_Imp As String
Masquer
On Error GoTo ErrorHandler
Application.ScreenUpdating = False
Variable_Imp = Application.ActivePrinter 'mise en memoire de l'imprimante
par defaut
' (Port PDF) 'l'imprimante à utiliser
Application.ActivePrinter = _
"Acrobat PDFWriter sur LPT1:"
ActiveWindow.SelectedSheets.PrintOut Copies:=1, ActivePrinter:= _
"Acrobat PDFWriter sur D:Fiche de paye nourisse & Year(Now())&
(TheNum).pdf", Collate:=True
Application.ActivePrinter = Variable_Imp ' reinitialiser l'imprimante pas
défaut
ErrorHandler:
Select Case Err.Number
Case 1004
MsgBox "Imprimante non disponible.", vbInformation, "INFORMATION"
Application.ActivePrinter = Variable_Imp
Case Else
Application.ActivePrinter = Variable_Imp
End Select
Application.ScreenUpdating = True
Afficher
End Sub
Sub Masquer()

Columns("AN:IV").EntireColumn.Hidden = True

End Sub
Sub Afficher()

Columns("AN:IV").EntireColumn.Hidden = False

End Sub

Mon souci et que j'aimerais forcer le nom du fichier créer de cette
manière:

ex : Numéro du mois - Mois

Ce qui donnerai pour le moi de juin par exemple (Avec ou sans espace
avant et aprés le tiret, peu importe):

06-Juin

Donc en faisant ceci je pensais une partie de la chose en question, c'est
a dire le mois en cours, mais en vain.

ActiveWindow.SelectedSheets.PrintOut Copies:=1, ActivePrinter:= _
"Acrobat PDFWriter sur D:Fiche de paye nourisse & Year(Now())&
(TheNum).pdf", Collate:=True

Donc la je fait l'impression sur le disque "D", dans le dossier "Fiche de
paye nourisse", et dans le sous dossier de l'année en cours,

mais je n'ai pas le numéro du mois (car je ne sais pas comment le
récupérer, quoi que j'ai un numéro dans les feuilles du mois qui
correspondent au mois sélectionné), mais j'ai encore moins le mois en
cours.

Es-ce possible de faire cela? et comment ?

Je vous en remercie d'avance, Jacques







Avatar
Jacques
Ange Ounis, le forum

La fonction que tu m'a faite fait bien le nom (J'ai fait le test avec une
MsgBox, pour visualiser) , mais au moment de l'enregistrement du fichier
PDF, dans la case nom, j'ai le nom du fichier EXCEL, je n'arrive pas a y
mettre le nom voulu.

Merci encore, Jacques
"Jacques" a écrit dans le message de news:
445845b2$0$18332$
Ange Ounis, le forum

Je te remercie, et j'essaye dans la matinée.

Merci beaucoup, Jacques
"Ange Ounis" a écrit dans le message de news:

Dans un coin de ton module de code (module ordinaire), recopie cette
petite fonction perso :

Function NomMois(Mois)
NomMois = Format(Mois, "00") & "-" & _
Application.Proper(Format(DateSerial(Year(Date), Mois, 1), "mmmm"))
End Function

Puis, dans ta procédure CreationPDF, remplace cette ligne :

ActiveWindow.SelectedSheets.PrintOut Copies:=1, ActivePrinter:= _
"Acrobat PDFWriter sur D:Fiche de paye nourisse & Year(Now())&
(TheNum).pdf", Collate:=True

par celle-ci :

ActiveWindow.SelectedSheets.PrintOut Copies:=1, ActivePrinter:= _
"Acrobat PDFWriter sur D:Fiche de paye nourisse" & _
Year(Now()) & "-" & NomMois(TheNum) & ".pdf", Collate:=True

----------
Ange Ounis
----------

Salut a toutes et tous

Voila, j'ai ce code pour imprimer un PDF :

Sub Impression()
Dim TheNum As Byte, reponse1, reponse2
TheNum = CByte(Month(Date))
Sheets(TheNum).Activate
Masquer
'Impression de la fiche de paye
reponse1 = MsgBox("Voulez-vous imprimer la feuille de paye du mois de "
& Worksheets(TheNum).Name & " ? ", vbYesNo + vbQuestion, "VALIDATION")
If reponse1 = vbYes Then
With Sheets(TheNum)
.lblDateDeSignature = "Fait à : VALENCE" & vbTab _
& vbTab & "Le : " _
& Application.Proper(Format(Now, "dddd dd mmmm yyyy "))
_
& vbTab & vbTab & "Mode de réglement : Par chèque
banquaire"
ActiveWindow.SelectedSheets.PrintOut Copies:=1
End With
'Création de la feuille du mois en pdf
reponse2 = MsgBox("Voulez-vous créer un pdf de la feuille de paye du
mois de " _
& Worksheets(TheNum).Name & " ? ", vbYesNo + vbQuestion,
"VALIDATION")
If reponse2 = vbYes Then
Call CreationPDF
Else
USF_Menu.Show 0
End If
Afficher
Else
USF_ImpFeuilleDePayeAnterieurs.Show 0
End If
End Sub

Sub CreationPDF() 'Message sur forum, Objet : Création de fichier PDF

Dim TheNum As Byte
TheNum = CByte(Month(Date))

Dim Variable_Imp As String
Masquer
On Error GoTo ErrorHandler
Application.ScreenUpdating = False
Variable_Imp = Application.ActivePrinter 'mise en memoire de
l'imprimante par defaut
' (Port PDF) 'l'imprimante à utiliser
Application.ActivePrinter = _
"Acrobat PDFWriter sur LPT1:"
ActiveWindow.SelectedSheets.PrintOut Copies:=1, ActivePrinter:= _
"Acrobat PDFWriter sur D:Fiche de paye nourisse & Year(Now())&
(TheNum).pdf", Collate:=True
Application.ActivePrinter = Variable_Imp ' reinitialiser l'imprimante
pas défaut
ErrorHandler:
Select Case Err.Number
Case 1004
MsgBox "Imprimante non disponible.", vbInformation, "INFORMATION"
Application.ActivePrinter = Variable_Imp
Case Else
Application.ActivePrinter = Variable_Imp
End Select
Application.ScreenUpdating = True
Afficher
End Sub
Sub Masquer()

Columns("AN:IV").EntireColumn.Hidden = True

End Sub
Sub Afficher()

Columns("AN:IV").EntireColumn.Hidden = False

End Sub

Mon souci et que j'aimerais forcer le nom du fichier créer de cette
manière:

ex : Numéro du mois - Mois

Ce qui donnerai pour le moi de juin par exemple (Avec ou sans espace
avant et aprés le tiret, peu importe):

06-Juin

Donc en faisant ceci je pensais une partie de la chose en question,
c'est a dire le mois en cours, mais en vain.

ActiveWindow.SelectedSheets.PrintOut Copies:=1, ActivePrinter:= _
"Acrobat PDFWriter sur D:Fiche de paye nourisse & Year(Now())&
(TheNum).pdf", Collate:=True

Donc la je fait l'impression sur le disque "D", dans le dossier "Fiche
de paye nourisse", et dans le sous dossier de l'année en cours,

mais je n'ai pas le numéro du mois (car je ne sais pas comment le
récupérer, quoi que j'ai un numéro dans les feuilles du mois qui
correspondent au mois sélectionné), mais j'ai encore moins le mois en
cours.

Es-ce possible de faire cela? et comment ?

Je vous en remercie d'avance, Jacques










Avatar
Ange Ounis
Désolé, je ne peux t'aider plus sur ce sujet.
Personnellement, lorsque j'ai besoin d'enregistrer un fichier Excel en pdf, je
passe par OpenOffice. Evidemment, ça ne va pas faire ton bonheur :(
Tu peux aussi patienter jusqu'à la sortie d'Office 2007, qui comportera cette
possibilité (et permettra sans doute également de la programmer en VBA).

----------
Ange Ounis
----------

Ange Ounis, le forum

La fonction que tu m'a faite fait bien le nom (J'ai fait le test avec une
MsgBox, pour visualiser) , mais au moment de l'enregistrement du fichier
PDF, dans la case nom, j'ai le nom du fichier EXCEL, je n'arrive pas a y
mettre le nom voulu.

Merci encore, Jacques
"Jacques" a écrit dans le message de news:
445845b2$0$18332$
Ange Ounis, le forum

Je te remercie, et j'essaye dans la matinée.

Merci beaucoup, Jacques
"Ange Ounis" a écrit dans le message de news:

Dans un coin de ton module de code (module ordinaire), recopie cette
petite fonction perso :

Function NomMois(Mois)
NomMois = Format(Mois, "00") & "-" & _
Application.Proper(Format(DateSerial(Year(Date), Mois, 1), "mmmm"))
End Function

Puis, dans ta procédure CreationPDF, remplace cette ligne :

ActiveWindow.SelectedSheets.PrintOut Copies:=1, ActivePrinter:= _
"Acrobat PDFWriter sur D:Fiche de paye nourisse & Year(Now())&
(TheNum).pdf", Collate:=True

par celle-ci :

ActiveWindow.SelectedSheets.PrintOut Copies:=1, ActivePrinter:= _
"Acrobat PDFWriter sur D:Fiche de paye nourisse" & _
Year(Now()) & "-" & NomMois(TheNum) & ".pdf", Collate:=True

----------
Ange Ounis
----------

Salut a toutes et tous

Voila, j'ai ce code pour imprimer un PDF :

Sub Impression()
Dim TheNum As Byte, reponse1, reponse2
TheNum = CByte(Month(Date))
Sheets(TheNum).Activate
Masquer
'Impression de la fiche de paye
reponse1 = MsgBox("Voulez-vous imprimer la feuille de paye du mois de "
& Worksheets(TheNum).Name & " ? ", vbYesNo + vbQuestion, "VALIDATION")
If reponse1 = vbYes Then
With Sheets(TheNum)
.lblDateDeSignature = "Fait à : VALENCE" & vbTab _
& vbTab & "Le : " _
& Application.Proper(Format(Now, "dddd dd mmmm yyyy "))
_
& vbTab & vbTab & "Mode de réglement : Par chèque
banquaire"
ActiveWindow.SelectedSheets.PrintOut Copies:=1
End With
'Création de la feuille du mois en pdf
reponse2 = MsgBox("Voulez-vous créer un pdf de la feuille de paye du
mois de " _
& Worksheets(TheNum).Name & " ? ", vbYesNo + vbQuestion,
"VALIDATION")
If reponse2 = vbYes Then
Call CreationPDF
Else
USF_Menu.Show 0
End If
Afficher
Else
USF_ImpFeuilleDePayeAnterieurs.Show 0
End If
End Sub

Sub CreationPDF() 'Message sur forum, Objet : Création de fichier PDF

Dim TheNum As Byte
TheNum = CByte(Month(Date))

Dim Variable_Imp As String
Masquer
On Error GoTo ErrorHandler
Application.ScreenUpdating = False
Variable_Imp = Application.ActivePrinter 'mise en memoire de
l'imprimante par defaut
' (Port PDF) 'l'imprimante à utiliser
Application.ActivePrinter = _
"Acrobat PDFWriter sur LPT1:"
ActiveWindow.SelectedSheets.PrintOut Copies:=1, ActivePrinter:= _
"Acrobat PDFWriter sur D:Fiche de paye nourisse & Year(Now())&
(TheNum).pdf", Collate:=True
Application.ActivePrinter = Variable_Imp ' reinitialiser l'imprimante
pas défaut
ErrorHandler:
Select Case Err.Number
Case 1004
MsgBox "Imprimante non disponible.", vbInformation, "INFORMATION"
Application.ActivePrinter = Variable_Imp
Case Else
Application.ActivePrinter = Variable_Imp
End Select
Application.ScreenUpdating = True
Afficher
End Sub
Sub Masquer()

Columns("AN:IV").EntireColumn.Hidden = True

End Sub
Sub Afficher()

Columns("AN:IV").EntireColumn.Hidden = False

End Sub

Mon souci et que j'aimerais forcer le nom du fichier créer de cette
manière:

ex : Numéro du mois - Mois

Ce qui donnerai pour le moi de juin par exemple (Avec ou sans espace
avant et aprés le tiret, peu importe):

06-Juin

Donc en faisant ceci je pensais une partie de la chose en question,
c'est a dire le mois en cours, mais en vain.

ActiveWindow.SelectedSheets.PrintOut Copies:=1, ActivePrinter:= _
"Acrobat PDFWriter sur D:Fiche de paye nourisse & Year(Now())&
(TheNum).pdf", Collate:=True

Donc la je fait l'impression sur le disque "D", dans le dossier "Fiche
de paye nourisse", et dans le sous dossier de l'année en cours,

mais je n'ai pas le numéro du mois (car je ne sais pas comment le
récupérer, quoi que j'ai un numéro dans les feuilles du mois qui
correspondent au mois sélectionné), mais j'ai encore moins le mois en
cours.

Es-ce possible de faire cela? et comment ?

Je vous en remercie d'avance, Jacques













Avatar
Jacques
Ange Ounis

C'est pas grave, merci encore.

Jacques
"Ange Ounis" a écrit dans le message de news:

Désolé, je ne peux t'aider plus sur ce sujet.
Personnellement, lorsque j'ai besoin d'enregistrer un fichier Excel en
pdf, je passe par OpenOffice. Evidemment, ça ne va pas faire ton bonheur
:(
Tu peux aussi patienter jusqu'à la sortie d'Office 2007, qui comportera
cette possibilité (et permettra sans doute également de la programmer en
VBA).

----------
Ange Ounis
----------

Ange Ounis, le forum

La fonction que tu m'a faite fait bien le nom (J'ai fait le test avec une
MsgBox, pour visualiser) , mais au moment de l'enregistrement du fichier
PDF, dans la case nom, j'ai le nom du fichier EXCEL, je n'arrive pas a y
mettre le nom voulu.

Merci encore, Jacques
"Jacques" a écrit dans le message de news:
445845b2$0$18332$
Ange Ounis, le forum

Je te remercie, et j'essaye dans la matinée.

Merci beaucoup, Jacques
"Ange Ounis" a écrit dans le message de news:

Dans un coin de ton module de code (module ordinaire), recopie cette
petite fonction perso :

Function NomMois(Mois)
NomMois = Format(Mois, "00") & "-" & _
Application.Proper(Format(DateSerial(Year(Date), Mois, 1), "mmmm"))
End Function

Puis, dans ta procédure CreationPDF, remplace cette ligne :

ActiveWindow.SelectedSheets.PrintOut Copies:=1, ActivePrinter:= _
"Acrobat PDFWriter sur D:Fiche de paye nourisse &
Year(Now())&
(TheNum).pdf", Collate:=True

par celle-ci :

ActiveWindow.SelectedSheets.PrintOut Copies:=1, ActivePrinter:= _
"Acrobat PDFWriter sur D:Fiche de paye nourisse" & _
Year(Now()) & "-" & NomMois(TheNum) & ".pdf", Collate:=True

----------
Ange Ounis
----------

Salut a toutes et tous

Voila, j'ai ce code pour imprimer un PDF :

Sub Impression()
Dim TheNum As Byte, reponse1, reponse2
TheNum = CByte(Month(Date))
Sheets(TheNum).Activate
Masquer
'Impression de la fiche de paye
reponse1 = MsgBox("Voulez-vous imprimer la feuille de paye du mois de
" & Worksheets(TheNum).Name & " ? ", vbYesNo + vbQuestion,
"VALIDATION")
If reponse1 = vbYes Then
With Sheets(TheNum)
.lblDateDeSignature = "Fait à : VALENCE" & vbTab _
& vbTab & "Le : " _
& Application.Proper(Format(Now, "dddd dd mmmm yyyy
")) _
& vbTab & vbTab & "Mode de réglement : Par chèque
banquaire"
ActiveWindow.SelectedSheets.PrintOut Copies:=1
End With
'Création de la feuille du mois en pdf
reponse2 = MsgBox("Voulez-vous créer un pdf de la feuille de paye du
mois de " _
& Worksheets(TheNum).Name & " ? ", vbYesNo + vbQuestion,
"VALIDATION")
If reponse2 = vbYes Then
Call CreationPDF
Else
USF_Menu.Show 0
End If
Afficher
Else
USF_ImpFeuilleDePayeAnterieurs.Show 0
End If
End Sub

Sub CreationPDF() 'Message sur forum, Objet : Création de fichier PDF

Dim TheNum As Byte
TheNum = CByte(Month(Date))

Dim Variable_Imp As String
Masquer
On Error GoTo ErrorHandler
Application.ScreenUpdating = False
Variable_Imp = Application.ActivePrinter 'mise en memoire de
l'imprimante par defaut
' (Port PDF) 'l'imprimante à utiliser
Application.ActivePrinter = _
"Acrobat PDFWriter sur LPT1:"
ActiveWindow.SelectedSheets.PrintOut Copies:=1, ActivePrinter:= _
"Acrobat PDFWriter sur D:Fiche de paye nourisse &
Year(Now())& (TheNum).pdf", Collate:=True
Application.ActivePrinter = Variable_Imp ' reinitialiser l'imprimante
pas défaut
ErrorHandler:
Select Case Err.Number
Case 1004
MsgBox "Imprimante non disponible.", vbInformation, "INFORMATION"
Application.ActivePrinter = Variable_Imp
Case Else
Application.ActivePrinter = Variable_Imp
End Select
Application.ScreenUpdating = True
Afficher
End Sub
Sub Masquer()

Columns("AN:IV").EntireColumn.Hidden = True

End Sub
Sub Afficher()

Columns("AN:IV").EntireColumn.Hidden = False

End Sub

Mon souci et que j'aimerais forcer le nom du fichier créer de cette
manière:

ex : Numéro du mois - Mois

Ce qui donnerai pour le moi de juin par exemple (Avec ou sans espace
avant et aprés le tiret, peu importe):

06-Juin

Donc en faisant ceci je pensais une partie de la chose en question,
c'est a dire le mois en cours, mais en vain.

ActiveWindow.SelectedSheets.PrintOut Copies:=1, ActivePrinter:= _
"Acrobat PDFWriter sur D:Fiche de paye nourisse &
Year(Now())& (TheNum).pdf", Collate:=True

Donc la je fait l'impression sur le disque "D", dans le dossier "Fiche
de paye nourisse", et dans le sous dossier de l'année en cours,

mais je n'ai pas le numéro du mois (car je ne sais pas comment le
récupérer, quoi que j'ai un numéro dans les feuilles du mois qui
correspondent au mois sélectionné), mais j'ai encore moins le mois en
cours.

Es-ce possible de faire cela? et comment ?

Je vous en remercie d'avance, Jacques