Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Microsoft 365 Sauvegarde une feuille excel sous format PDF sous le nom d'une cellule

Huggy22

XLDnaute Nouveau
Bonjour à tous.

Dans le fichier ci-joint, la macro permet de sauvegarder la feuille nommé BCI sous format PDF à l'endroit indiqué. Dans mon exemple, le nom du PDF est le nom du fichier excel mais j'aimerai que la sauvegarde soit la valeur de la cellule B3 (23-200026.pdf).

D'avance merci,

HT.
 

Pièces jointes

  • BCI.xlsm
    53.6 KB · Affichages: 20
Solution
Bonjour Huggy,
essayez :
VB:
 ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
     "C:\Users\htous\Downloads\" & [B3] & ".pdf", Quality:=xlQualityStandard, _
     IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:=True
Mais vous aurez surement un souci avec le caractère "/" dans la cellule B3. Remplacez le par autre chose,
23-200026 ou 23_200026 par exemple.


Addon : Si le format dans la feuille est fixé, alors vous pouvez le remplacer dans la macro avec :
VB:
NomFichier = "C:\Users\htous\Downloads\" & Replace([B3], "/", "-") & ".pdf"
  ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:=NomFichier, _
  Quality:=xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas:=False...

sylvanu

XLDnaute Barbatruc
Supporter XLD
Bonjour Huggy,
essayez :
VB:
 ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
     "C:\Users\htous\Downloads\" & [B3] & ".pdf", Quality:=xlQualityStandard, _
     IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:=True
Mais vous aurez surement un souci avec le caractère "/" dans la cellule B3. Remplacez le par autre chose,
23-200026 ou 23_200026 par exemple.


Addon : Si le format dans la feuille est fixé, alors vous pouvez le remplacer dans la macro avec :
VB:
NomFichier = "C:\Users\htous\Downloads\" & Replace([B3], "/", "-") & ".pdf"
  ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:=NomFichier, _
  Quality:=xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:=True
 
Dernière édition:

catdog

XLDnaute Junior
Bonjour,

Je me suis permis d'utiliser votre code pour un fichier à moi.

VB:
ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
    [A6], Quality:=xlQualityStandard, _
    IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:=True

Mais j'aurais besoin, pour un autre fichier, de faire la même procédure, mais pour deux onglets à la fois, à mettre dans un seul fichier.
En sélectionnant "A6", VBA se contentera-t-il de la cellule A6 de la feuille active, ou ira-t-il chercher A6 sur chaque feuille ?

Merci d'avance,
Et bonne journée à chacun...
Olivier.
 

catdog

XLDnaute Junior
Bon, vous les connaissez ces jours où, très tôt (quand le réveil vous a extirpé d'un sommeil profond), vous vous êtes dit qu'il aurait mieux valu rester couché ?
Ben, pour moi, aujourd'hui est un de ces jours-là.
Donc, en testant mon besoin sur mon premier fichier, j'ai pu constater que ça fonctionnait tel quel.

En espérant n'avoir fait perdre de temps à personne du coup...

Et si ma question/réponse peut servir à quelqu'un d'autre, ce sera finalement utile...

Bonne fin de journée à tous,

Olivier.
 

Discussions similaires

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…