J’ai un fichier Excel que j’ai mis en forme où sur la première page je note les infos client et après avec des référencements d’une page/cellule a une autre page/cellule tout apparaît avec la mise en forme voulue sur les autres pages pour que je n’ai plus qu’à exporter en pdf après.
J’ai une page « Fiches Techniques » où il y a juste le nom comme par exemple « appareillage » « incendie » ou « intrusion » qui change. Il y a tellement de noms différents que j’ai créé un menu déroulant sur la case donnée. Y a t-il un moyen d’exporter en pdf la page avec chaque possibilité du menu déroulant ?
Que si j’ai « appareillage », « incendie » et « intrusion » que ca me sorte 1 page pdf par mot rentré sans que je doive a chaque fois sélectionner dans le menu ?
Voici le fichier, la première page est la page où je rentre les infos client/chantier. La deuxième est juste une page de présentation a ne pas toucher. La troisième est la page où il y a le menu déroulant avec les différents mots et donc ducoup je souhaite si possible que je puisse exporter cette troisième page en PDF avec une page par mot du menu déroulant.
Et si possible que les différents fichiers PDF prennent en nom le mot du menu déroulant.
Sub Exporter_en_PDF()
Dim page As Range
Dim Emplacement As String
Emplacement = "C:\users\" & Environ("username") & "\desktop\"
Range("K1:K4").Name = "Liste"
For Each page In Range("Liste")
Range("E15") = page
On Error GoTo fin
Sheets(3).ExportAsFixedFormat Type:=xlTypePDF, Filename:=Emplacement & Range("E15") & ".pdf" _
, Quality:=xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:=True
Next
Exit Sub
fin:
MsgBox "Le fichier existe déjà sur l'emplacement choisi"
End Sub
C’est parfait !!
Si je veux pousser encore plus loin n’y a t-il pas un moyen que je colle le chemin d’accès a un endroit de la première page pour l’exportation des fiches techniques ? Et que le bouton pour l’exportation comme tu as fait exporte les fiches techniques comme tu l’a paramétré mais aussi toutes les autres pages hormis la page qui s’appelle « A REMPLIR ».
Et si possible que le bouton soit sur la première page etant donné que les seules modifications de texte etc qui seront autorisées sont celles de la première page
Re,
Donc vous voulez aussi que la deuxième page se met en PDF ? Test DOE Automatisé .xlsm (33,7 Ko)
NB :Sans la deuxième page, l’export écrasera les anciens
Will-Fread
En fait j’ai un fichier avec beaucoup plus de pages, le but de ma demande initiale était par rapport a la page des FT. Pour l’export je regarderais dans le code pour exporter toutes les pages avec le bouton.
Je suie en train d’essayer de comprendre le vba
Bien,
Mettez le nombre exact de pages à mettre en PDF et nous pourrions être en mesure de l’adapter à nouveau pour toutes les feuilles à l’exception de la première.
Merci de ton retour, voici la liste et le nom de mes pages :
« A REMPLIR »
« Présentation DOE »
« Documentation Technique »
« Classeur Plans »
« Classeur Photo »
« Classeur Fiches Techniques »
« Classeur FT A MODIFIER avec PDF »
« Classeur Documentation Diverse »
La page avec le menu déroulant est la page « Classeur FT A MODIFIER avec PDF »
Et je souhaiterais si possible que le bouton d’exportation PDF ainsi que la liste du menu déroulant soit sur la page « A REMPLIR » étant donné que toutes les autres seront protégées.
Je souhaite que le bouton exporte toutes les pages du fichier excel (y compris la page « Classeur FT A MODIFIER avec PDF » qui est celle avec le menu déroulant).
Je vous joint un fichier avec toutes les pages que je veux et j’ai fait le tableau dans la première page pour le menu déroulant. je souhaiterais qu’il se mette a jour en fonction du nombre de lignes remplies dans le tableau.
« Présentation - » c’est le début du nom du fichier que j’aimerais obtenir par rapport aux fiches techniques.
Pour chaque pages je souhaiterais que le nom du pdf soit le nom de la page. Hormis pour la page " « Classeur FT A MODIFIER avec PDF » je souhaite que le nom soit sous ce format :
« Présentation - Mot du menu déroulant »
C’est pour cela que j’ai marqué « Présentation - »
Sub Exporter_en_PDF()
Dim page As Range
Dim Emplacements As FileDialog
Dim emplcaments As String
If Range("N7") <> "" Then
Emplacement = Range("N7")
Else
On Error GoTo fin
Set Emplacements = Application.FileDialog(msoFileDialogFolderPicker)
Emplacements.Show
Emplacement = Emplacements.SelectedItems(1)
Range("N7") = Emplacement
End If
Range("N24").CurrentRegion.Name = "Liste"
Application.ScreenUpdating = False
For Each page In Range("Liste")
Sheets(7).Select
Range("E15") = page
On Error GoTo fin
Sheets(Array(Sheets(2).Name, Sheets(3).Name, Sheets(4).Name, Sheets(5).Name, Sheets(6).Name, Sheets(7).Name)).Select
Sheets(2).Activate
ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:=Emplacement & "\Présentation - " & page & ".pdf", Quality:=xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:=True
Next
Application.ScreenUpdating = True
Sheets(1).Activate
Exit Sub
fin:
End Sub
Bonjour,
Je viens de regarder ton dernier fichier et j’ai deux petits soucis.
Le premier est que lorsque je clique sur le bouton « Export PDF », ca m’affiche la barre de progression « publication » mais ca ne me créé aucun fichier PDF, ca sélectionne les onglets des pages et après rien ne se passe.
Le deuxième souci est que dans les références entre la première et la deuxième pages dans les cases ou le texte d’Objectif et de Localisation doit apparaitre j’ai tout simplement une erreur Valeur et je n’arrive pas a la résoudre.
Bonjour,
Il ne faut plus mettre Présentation - sur l’emplacement,
je l’ai intégré dans l’code.
Tester à nouveau Fichier V1 du 14 03 2023.xlsm (103,2 Ko)
Etape :
1-Vous remplissez tous,
2-Choisissez un emplacement et OK
Bonjour, ca marche mais par contre ca me génère un fichier pdf avec toutes les pages et a chaque fois la seule différence est le mot du menu déroulant. Vu que il y a 5 lignes dans le menu déroulant ca me génère 5 PDF avec toutes les pages et 1 mot du menu déroulant par PDF.
Comment faire pour que ca génère
Toutes les pages directement en 1 Exemplaire et comme dit plus haut que ca génère une page par mot du menu déroulant ?
J’espère que mon message est compréhensible
Merci d’avance
Re,
Donc vous voulez 1 page mais vous voulez répéter 5 fois la feuille "Classeur FT A MODIFIER avec PDF avec les cinq critères ?
Si vous voulez avoir une seul page, il vous faut utiliser un autre logiciel,
Exemple Adobe Acrobat Reader
Je veux si possible :
1 Exemplaire de la page Présentation DOE
1 Exemplaire de la page Documentation Technique
1 Exemplaire de la page Classeur Plans
1 Exemplaire de la page Classeur Photo
1 Exemplaire de la page Classeur Fiches Techniques
Et la page Classeur FT A MODIFIER avec PDF je veux 1 exemplaire par mot du menu déroulant
Re,
Oui c’est possible !
Mais pas pour les 5 feuilles sauf bien sur qu’on annule la liste déroulante mais c’est pas ce que vous voulez.
je vous fait une dernière correction:
Sub Exporter_en_PDF()
Dim page As Range
Dim Emplacements As FileDialog
Dim emplcaments As String
If Range("N7") <> "" Then
Emplacement = Range("N7")
Else
On Error GoTo fin
Set Emplacements = Application.FileDialog(msoFileDialogFolderPicker)
Emplacements.Show
Emplacement = Emplacements.SelectedItems(1)
Range("N7") = Emplacement
End If
Range("N24").CurrentRegion.Name = "Liste"
Application.ScreenUpdating = False
On Error GoTo fin
For a = 2 To 8
If a <> 7 Then
Sheets(a).Select
ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:=Emplacement & "\" & ActiveSheet.Name & ".pdf", Quality:=xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:=True
Else
Sheets(a).Select
For Each page In Range("Liste")
Range("E15") = page
ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:=Emplacement & "\Présentation - " & page & ".pdf", Quality:=xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:=True
Next
End If
Next
Application.ScreenUpdating = True
Sheets(1).Activate
Exit Sub
fin:
End Sub