XL 2013 Questions déjà traitée ici mais... (Insérer cellule dans nom de PDF)

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

StéphaneDeLà

XLDnaute Nouveau
Bonjour à tous !
A force de chercher des solutions à mes problèmes (sur ce forum) sans pour autant parvenir à un résultat, je finis par m'inscrire et venir vous demander directement...
J'ai trouvé plusieurs réponses à ma question, mais chaque fois j'ai un "Débogage".
Je ne connais pas suffisamment le VBA pour identifier l'erreur, et ça fait une semaine que je suis dessus, je n'en peux plus.

Je cherche comme déjà vu ici à nommer mon export PDF en incluant le contenu d'une cellule dans le nom du fichier.
En compilant plusieurs réponses trouvées, j'arrive à générer le fichier, où je veux, mais impossible d'y mettre le contenu de la cellule sans message d'erreur !
Quelqu'un saurait-il identifier cette dernière ?

Le code (fichier avec données confidentielles...) :

Sub PDF()
Dim Zone As Range
Dim chemin As String

Columns("A:Q").Select
Columns("A:Q").EntireColumn.AutoFit

' Sélection du tableau
Range("Q9").Select
Range(Selection, Selection.End(xlDown)).Select
Range(Selection, Selection.End(xlToLeft)).Select

Set Zone = Selection

chemin = ThisWorkbook.Path & "\PDFs\" & chemin
chemin = "Planning du" & " " & ActiveSheet.Range("C10").Value & Format(Now, " dd-mm-yyyy") & ".pdf"

ActiveSheet.PageSetup.Orientation = xlLandscape
Zone.ExportAsFixedFormat xlTypePDF, chemin, OpenAfterPublish:=True 'Ligne que me pointe Excel comme étant fausse...

Range("B8").Select

End Sub

En vous remerciant d'avance...
 
Solution
Ca fonctionne finalement. J'en perds la tête.

La solution :



Sub PDF()

Dim Zone As Range
Dim chemin As String

Columns("A:Q").Select
Columns("A:Q").EntireColumn.AutoFit

' Sélection du tableau
Range("Q9").Select
Range(Selection, Selection.End(xlDown)).Select
Range(Selection, Selection.End(xlToLeft)).Select

If Selection.Count = 1 Then
Set Zone = Application.InputBox("Sélectionner une plage à exporter.", "Plage à exporter", Type:=8)
Else
Set Zone = Selection
ActiveSheet.PageSetup.PrintArea = ("$A9:Q200")
End If

chemin = Replace("Planning du", ".xlsm", "") & " " & Format(ActiveSheet.Range("C10"), "dd mm yyyy") & ".pdf"
chemin = ThisWorkbook.Path & "\PDFs\" & chemin...
Bonjour,


Essaye plutôt ceci :
VB:
chemin = ThisWorkbook.Path & "\PDFs\"
chemin = chemin & "Planning du " & ActiveSheet.Range("C10").Value & Format(Now, "dd-mm-yyyy") & ".pdf"
Bonjour TooFatBoy ! Merci de ta réponse !

J'ai toujours le même débogage sur
Zone.ExportAsFixedFormat xlTypePDF, chemin, OpenAfterPublish:=True

J'ai mainte fois changé cette ligne, en la remplaçant par exemple par
ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, _
Filename:=chemin & NFichier, _
Quality:=xlQualityStandard, _
IncludeDocProperties:=True, _
IgnorePrintAreas:=False, _
OpenAfterPublish:=True

par exemple, mais alors ce texte déboge aussi !...

Ca fonctionne avec :

Chemin = Replace("Planning du", ".xlsm", "") & " " & Format(Now(), "yyyy mm dd - hh mm ss") & ".pdf"
Chemin = ThisWorkbook.Path & "\PDFs\" & Chemin__

mais dès que je veux mettre la cellule ça coince.
 
Ca fonctionne finalement. J'en perds la tête.

La solution :



Sub PDF()

Dim Zone As Range
Dim chemin As String

Columns("A:Q").Select
Columns("A:Q").EntireColumn.AutoFit

' Sélection du tableau
Range("Q9").Select
Range(Selection, Selection.End(xlDown)).Select
Range(Selection, Selection.End(xlToLeft)).Select

If Selection.Count = 1 Then
Set Zone = Application.InputBox("Sélectionner une plage à exporter.", "Plage à exporter", Type:=8)
Else
Set Zone = Selection
ActiveSheet.PageSetup.PrintArea = ("$A9:Q200")
End If

chemin = Replace("Planning du", ".xlsm", "") & " " & Format(ActiveSheet.Range("C10"), "dd mm yyyy") & ".pdf"
chemin = ThisWorkbook.Path & "\PDFs\" & chemin


ActiveSheet.PageSetup.Orientation = xlLandscape
Zone.ExportAsFixedFormat xlTypePDF, chemin, OpenAfterPublish:=True

Range("B8").Select

End Sub


Merci beaucoup TootFatBoy pour ta réponse rapide !
A bientôt sur un autre fil, j'ai encore des blocages !😉
👍
 
Dernière édition:
Ca dépend de ce que tu as dans la cellule C10.
Du coup le nom de ton classeur comporte deux dates : celle de C10 et celle de Now ? 😵


Est-ce que ce ne serait pas plutôt ceci que tu voulais faire :
Enrichi (BBcode):
chemin = ThisWorkbook.Path & "\PDFs\"
chemin = chemin & "Planning du " & Format(ActiveSheet.Range("C10").Value2, "dd-mm-yyyy") & ".pdf"

qui peut aussi s'écrire :
VB:
chemin = ThisWorkbook.Path & "\PDFs\Planning du " & Format(ActiveSheet.Range("C10").Value2, "dd-mm-yyyy") & ".pdf"
 
VB:
Sub PDF()
'
Dim Zone As Range
Dim chemin As String

    Columns("A:Q").EntireColumn.AutoFit

    ' Sélection du tableau
    Range("Q9").Select
    Range(Selection, Selection.End(xlDown)).Select
    Range(Selection, Selection.End(xlToLeft)).Select
 
    If Selection.Count = 1 Then

        Set Zone = Application.InputBox("Sélectionner une plage à exporter.", "Plage à exporter", Type:=8)

    Else

        chemin = ThisWorkbook.Path & "\PDFs\Planning du " & Format(ActiveSheet.Range("C10").Value2, "dd-mm-yyyy") & ".pdf"
        Set Zone = Selection
        ActiveSheet.PageSetup.PrintArea = ("A9:Q200")
        ActiveSheet.PageSetup.Orientation = xlLandscape
        Zone.ExportAsFixedFormat xlTypePDF, chemin, OpenAfterPublish:=True
        Range("B8").Select

    End If

End Sub
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

T
Réponses
3
Affichages
1 K
T
Retour