Laisse moi rire
XLDnaute Occasionnel
Salut le forum
Bon je reviens avec mes histoire de PDF.
Jusqu'a présent cela ne fonctionné pas, même avec une feuille toute simple en appuyant sur le bouton de création PDF, avec acrobat writen.
Donc, j'ai réinstallé, puis maintenant cela fonctionne.
Donc je vais pouvoir réessayer, sur mon fichier.
Donc voici le code que j'utilise.
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 Distiller sur Ne01:'
ActiveWindow.SelectedSheets.PrintOut Copies:=1, ActivePrinter:= _
'Acrobat Distiller sur D:\\Fiche de paye nourisse\\ & Year(Now())& (TheNum).pdf', Collate:=True '& (TheNum)
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
Si, le fait de mettre le code pose un petit souci, dite le, car n'importe quelle feuille d mon fichier que je pourrais mettre, fais plus de 50 Ko, et j'essayerai autrement.
Mon souci et l'envoie dans le répertoire voulu, ainsi que le nommage, qui veux pas se faire.
Merci, pour votre aide, G'Claire
Message édité par: GClaire, à: 03/10/2005 16:24
Bon je reviens avec mes histoire de PDF.
Jusqu'a présent cela ne fonctionné pas, même avec une feuille toute simple en appuyant sur le bouton de création PDF, avec acrobat writen.
Donc, j'ai réinstallé, puis maintenant cela fonctionne.
Donc je vais pouvoir réessayer, sur mon fichier.
Donc voici le code que j'utilise.
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 Distiller sur Ne01:'
ActiveWindow.SelectedSheets.PrintOut Copies:=1, ActivePrinter:= _
'Acrobat Distiller sur D:\\Fiche de paye nourisse\\ & Year(Now())& (TheNum).pdf', Collate:=True '& (TheNum)
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
Si, le fait de mettre le code pose un petit souci, dite le, car n'importe quelle feuille d mon fichier que je pourrais mettre, fais plus de 50 Ko, et j'essayerai autrement.
Mon souci et l'envoie dans le répertoire voulu, ainsi que le nommage, qui veux pas se faire.
Merci, pour votre aide, G'Claire
Message édité par: GClaire, à: 03/10/2005 16:24