Macro enregistrement onglet PDF

Fermé
Marie7831 Messages postés 12 Date d'inscription jeudi 7 avril 2016 Statut Membre Dernière intervention 12 juillet 2019 - 14 juin 2019 à 12:58
yg_be Messages postés 22730 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 26 avril 2024 - 10 juil. 2019 à 10:45
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 17185 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 15 avril 2024 1 702
14 juin 2019 à 14:29
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 jeudi 7 avril 2016 Statut Membre Dernière intervention 12 juillet 2019
17 juin 2019 à 08:36
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 17185 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 15 avril 2024 1 702
Modifié le 17 juin 2019 à 09:38
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 jeudi 7 avril 2016 Statut Membre Dernière intervention 12 juillet 2019
17 juin 2019 à 11:59


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 17185 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 15 avril 2024 1 702
17 juin 2019 à 15:47
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 jeudi 7 avril 2016 Statut Membre Dernière intervention 12 juillet 2019
18 juin 2019 à 14:59
Oh super, merci beaucoup beaucoup !!!!

Bonne journée !
0