Macro enregistrement onglet PDF

Marie7831 Messages postés 12 Date d'inscription   Statut Membre Dernière intervention   -  
yg_be Messages postés 23541 Date d'inscription   Statut Contributeur Dernière intervention   -
Bonjour,

N'ayant pas trouvé de réponses sur le forum, je me permets de créer un poste.
J'ai un fichier Excel avec 100 onglets correspondant à un document pour 100 villes différentes.
Je souhaiterais pouvoir enregistrer chaque onglet au format PDF en prenant en compte le nom de l'onglet(nom de la ville) et un petit texte avant "FE _ nom de la ville".

J'ai trouvé cette macro sauf qu'il y a un problème ! Lorsque que j'ouvre par exemple le PDF Toulon par exemple, le document à l'intérieur est celui de la ville suivante (et donc de l'onglet suivant) (Toulouse).
Avez-vous une idée d'où cela peut venir ? :) Je ne suis pas très douée en VBA, je bidouille toujours un peu, j'ai tenté plusieurs bidouillages mais ça ne fonctionne pas :)

Merciii par avance :)

Marie

Sub Macro1()
For i = 1 To Sheets.Count
Dim nomfeuille As String
nomfeuille = ActiveSheet.Name
Sheets(i).Select
ChDir "F:\Service Marketing\DOCUMENTS\TEST MACRO"
ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:="F:\Service Marketing\DOCUMENTS\TEST MACRO\FE _ " & nomfeuille & ".pdf"
Next i
End Sub
A voir également:

1 réponse

f894009 Messages postés 17277 Date d'inscription   Statut Membre Dernière intervention   1 713
 
Bonjour,

Puisque vous utilisez les select, il faut selectionner la feuille 1 avant de commencer la boucle pour avoir le nom de la dite feuille et non pas celui de la feuille active au moment de lancer votre macro
0
Marie7831 Messages postés 12 Date d'inscription   Statut Membre Dernière intervention  
 
Bonjour,

Merci pour votre réponse. Je viens de faire le test mais cela ne change rien, j'ai toujours un soucis de décalage, même si je me mets sur la première feuille au moment de lancer la macro.
Que puis-je essayer d'autres ? :)
0
f894009 Messages postés 17277 Date d'inscription   Statut Membre Dernière intervention   1 713
 
Bonjour,
Sheets(1) et Feuil1 n'est peut-être pas la meme chose. Quand vous ouvrez le VBA regardez la partie Feuil

exemple:


nomfeuille = ActiveSheet.Name
: "azerty"
Sheets(1)= Feuil1

Vous pouvez avoir des décalages entre Nom et Index
0
Marie7831 Messages postés 12 Date d'inscription   Statut Membre Dernière intervention  
 


Rebonjour,

Malheureusement je ne trouve pas mon erreur... La Feuil1 est bien celle par laquelle il faut commencer.
Je ne suis pas vraiment douée en VBA ! lol
0
f894009 Messages postés 17277 Date d'inscription   Statut Membre Dernière intervention   1 713
 
Re,
Devrait aller mieux:
Sub Macro1()
    Dim Sh As Worksheet
    Dim nomfeuille As String
    
    ChDir "F:\Service Marketing\DOCUMENTS\TEST MACRO"
    For Each Sh In Worksheets
        nomfeuille = Sh.Name
        Worksheets(nomfeuille).ExportAsFixedFormat Type:=xlTypePDF, Filename:="F:\Service Marketing\DOCUMENTS\TEST MACRO\FE _ " & nomfeuille & ".pdf"
    Next
End Sub
0
Marie7831 Messages postés 12 Date d'inscription   Statut Membre Dernière intervention  
 
Oh super, merci beaucoup beaucoup !!!!

Bonne journée !
0