Bug titre graphe lors de l'enregistrement en pdf

cathodique

XLDnaute Barbatruc
Bonjour,

Mes recherches sur le forum n'ont rien donné, je vous expose mon problème.
j'ai reproduit sur le fichier joint juste ce qui concerne ce problème. En réalité sur mon fichier initial, via userform suivant des selections de comboboxs, je récupère sur une feuille des données d'une BD, pour les traiter, faire un graphe et publier ces 2 feuilles en pdf.

Donc la plage de données source du graphe change et le titre du graphe aussi (titre= concaténation cellules). j'ai utilisé l’évènement activate pour définir le titre. ensuite, j'ai enregistré une macro pour la publication en pdf (elle s'est bien terminée, ni blocage ni message).
le problème, c'est qu'à l’exécution de celle-ci, un bug survient dans le code du titre du graphe. je tourne en rond sans solution.

je pense que vous cernerez mieux ce bug sur le fichier joint.
nb: j'utilise le complément d'office 2007 pour l'enregistrement en pdf.
je vous remercie beaucoup.

Cordialement,
 

Pièces jointes

  • titre graphe création pdf.xlsm
    75.5 KB · Affichages: 38

Pierrot93

XLDnaute Barbatruc
Re : Bug titre graphe lors de l'enregistrement en pdf

Bonjour,

ceci fonctionne chez moi, sous 2003 :
Code:
Private Sub Chart_Activate()
With Me
    .HasTitle = True
    .ChartTitle.Text = "Graphe " & Sheets("TracerGraphe").Range("m5") _
        & " - " & Sheets("TracerGraphe").Range("m9") & Chr(10) & "Site: " & Sheets("TracerGraphe").Range("m6") & _
        "   " & "Mesure: " & Sheets("TracerGraphe").Range("m7")
End With
End Sub

bonne journée
@+
 

cathodique

XLDnaute Barbatruc
Re : Bug titre graphe lors de l'enregistrement en pdf

Bonjour Pierrot93,

je te remercie beaucoup, tu m'as déjà donné un sacré coup de main lors d'une précédente discussion. Pour ton code concernant, le titre du graphe, il fonctionne parfaitement. Mon erreur était dans:
Code:
.ChartTitle.Characters.Text
'le code correct devait être:
.ChartTitle.Text
.merci pour la correction

Par contre j'ai un autre souci maintenant, lors de l’exécution de la macro pour l'enregistrement en PDF. je joins le fichier cette fois-ci en XLS, où vous trouverez comme dans le précédent fichier des captures d'écran.

Je vous remercie beaucoup.

Cordialement,
 

Pièces jointes

  • titre graphe création pdf bis.xls
    117 KB · Affichages: 31

Pierrot93

XLDnaute Barbatruc
Re : Bug titre graphe lors de l'enregistrement en pdf

Re,

essaye ceci, ok chez moi sous 2010 :
Code:
Sub Publier_en_pdf()
Sheets("Graph1").ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
    ThisWorkbook.Path & "\titre graphe création pdf.pdf", _
    Quality:=xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas _
    :=False, OpenAfterPublish:=True
End Sub

Attention, j'ai aussi modifié le chemin....
 

cathodique

XLDnaute Barbatruc
Re : Bug titre graphe lors de l'enregistrement en pdf

Re,

je te remercie beaucoup, ton code fonctionne bien mais seulement pour le graphe. Tu n'as peut-être pas fait attention, mais je voulais avoir en PDF, la feuille "source" et la feuille "Graph1" , mon dernier code est le suivant:
Code:
Sub Publier_en_pdf()
Sheets(Array("source", "Graph1")).Select
    
    ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
        "C:\Documents and Settings\Elias\Mes documents\titre graphe création pdf.pdf", _
        Quality:=xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas _
        :=False, OpenAfterPublish:=True
        
        Sheets("Feuil4").Select
End Sub
Ce dernier code fonctionne sauf qu'en faisant un 2ème essai, le précédent fichier a été écrasé sans message d'avertissement du genre:"ce fichier existe déjà, voulez-vous enregistrer?"

Aurais-tu une idée pour éviter cela? Sinon, je fais une recherche et éventuellement j'ouvrirai une discussion.

Je te remercie beaucoup pour ton aide.

Cordialement,
 

Pierrot93

XLDnaute Barbatruc
Re : Bug titre graphe lors de l'enregistrement en pdf

Bonjour,

Code:
Ce dernier code fonctionne sauf qu'en faisant un 2ème essai, le précédent fichier a été écrasé sans message d'avertissement du genre:"ce fichier existe déjà, voulez-vous enregistrer?"
Aurais-tu une idée pour éviter cela?

regarde du coté de la fonction "DIR", cela devrait permettre de vérifier si le fichier existe déjà.... si le cas envoyer une "msgbox" afin de confirmer ou pas l'enregistrement.....

bonne journée
@+
 

cathodique

XLDnaute Barbatruc
Re : Bug titre graphe lors de l'enregistrement en pdf

Bonjour Pierrot93,

Vraiment matinal! Je te remercie d'avoir répondu à mon post et te remercie pour ton aide.
Je me suis en effet orienté vers la fonction "DIR", je suis parvenu à faire vérifier l'existence du fichier (module2). Par contre, pour aller un peu plus loin, je voudrai vérifier l'existence d'un répertoire, sinon le créer puis vérifier l'existence du fichier tout en laissant à l'utilisateur le choix d'écraser le fichier s'il existe.
J'ai bien trouvé des exemples mais je ne parviens pas à les adapter (module1). je n'ai pas encore ouvert de discussion dans ce sens. Si tu peux m'aider, je t'en remercie par avance.

Cordialement,
 

Pièces jointes

  • 1permettre ecrasement fichier ou non.xls
    82.5 KB · Affichages: 26

Pierrot93

XLDnaute Barbatruc
Re : Bug titre graphe lors de l'enregistrement en pdf

Re,

regarde peut être ceci, non testé...
Code:
Sub ENREGISTRER()
Dim nomdossier As String, chemin As String, Fichier As String, nomfichier As String
'----------------------------------------------------------------------------------------------
nomdossier = Year(Sheets("source").Range("F1"))

nomfichier = "Rapport " & MonthName(Month(Sheets("source").Range("F1").Text)) & " " & _
Year(Sheets("source").Range("F1")) & " " & "Région " & Sheets("source").Range("C1") _
& "-" & "site " & Sheets("source").Range("C2") & ".pdf"

chemin = ThisWorkbook.Path
 
ChDir chemin 'se place sur le repertoire du programme
 
If Dir(chemin & "\" & nomdossier & "\", vbDirectory) = "" Then
    MkDir chemin & "\" & nomdossier
End If
repert = chemin & "\" & nomdossier
ChDir repert
Fichier = repert & "\" & nomfichier

If Dir(Fichier) <> "" Then If MsgBox("Le fichier existe déjà," _
    & Chr(10) & "Voulez-vous l'écraser?", vbYesNo) = vbNo Then Exit Sub
Sheets(Array("source", "Graph1")).Select
ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:=Fichier, _
Quality:=xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:=True
Sheets("Feuil4").Select
End Sub
 

Discussions similaires

Réponses
11
Affichages
568

Statistiques des forums

Discussions
312 683
Messages
2 090 910
Membres
104 693
dernier inscrit
azizou900