Boucle enregistrement de plusieurs onglets PDF qui se suiven
Bonjour,
Merci de m'avoir accueilli dans votre forum.
Je suis en stage en contrôle de gestion et m'attaque à ma première macro. Je souhaite savoir si c'est possible d'enregistrer plusieurs onglets d'un fichier Excel en PDF sans commencer par la 1ère page et sans finir par la dernière.
En gros je souhaite savoir si je peux créer une boucle sur 10 des 15 onglets qui composent le fichier. Le 1er onglet à enregistrer n'est pas le 1er onglet du fichier et le dernier n'est pas le dernier du fichier. Par contre, les onglets à enregistrer se suivent tous.
J'arrive à faire une boucle prenant en compte tous les onglets du coup ça m'enregistre tous les onglets du fichier alors que je veux en enregistrer qu'une partie.
Voici le code que j'utilise pour faire cette macro qui au final ne me sert qu'à moitié.
[code=VBA]Sub EnregistrementMacroOngletParOnglet()
annee = Year(Now)
Select Case Month(Now)
Case 1
mois = "décembre"
annee = annee - 1
Case 2
mois = "janvier"
Case 3
mois = "février"
Case 4
mois = "mars"
Case 5
mois = "avril"
Case 6
mois = "mai"
Case 7
mois = "juin"
Case 8
mois = "juillet"
Case 9
mois = "août"
Case 10
mois = "septembre"
Case 11
mois = "octobre"
Case 12
mois = "novembre"
End Select
Application.ScreenUpdating = False
On Error Resume Next
MkDir "K:\Stage\Mamoun\Mise en place macro Dvpmt Export"
For i = 1 To Sheets.Count
Sheets(i).Select
ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:="K:\Stage\ME\Mise en place macro Dvpmt Export\" & Sheets(i).Name & "_" & mois & "_" & annee & ".pdf"
Next i
Sheets(1).Select
Application.ScreenUpdating = True
MsgBox ("Les " & Sheets.Count & " documents PDF viennent d'être créés et sonT disponnibles dans le répertoire K:\Stage\ME\Mise en place macro Dvpmt Export ")
End Sub
[/code=VBA]
Merci par avance,
Cordialement
Bonjour lasermams,
Il faut regarder la boucle que tu utilises :
For i = 1 To Sheets.Countau lieu de commencer par 1 tu peux commencer par 3 par exemple. Et au lieu de terminer par Sheets.Count, tu peux terminer à Sheets.Count - 2 par exemple...