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

XL 2016 macro impression

KTM

XLDnaute Impliqué
Salut Chere famille Forum
J'ai elaboré une macro qui doit faire les actions suivantes:
1 Selectionner les plages spécifiques et les copier sur la feuille "Impr"
2 Créer un sous Dossier "Files Actives"
3 Sauvegarder au Format "pdf " dans le sous dossier
Les etapes 1 ET 2 fonctionnent normalement
Mais la 3e pose problème
Je veux comprendre ce qui n'a pas marché. Merci


Sub SFa_T1()

With Sheets("Impr")

.Range("A1:H13").Value = Range("BC1:BJ13").Value
.Range("A15:H27").Value = Range("AT1:BA13").Value
.Range("A29:H41").Value = Range("AT57:BA69").Value
.Range("A43:H55").Value = Range("BC57:BJ69").Value

chemin = ThisWorkbook.Path & "\Files Actives\"
If Dir(chemin, vbDirectory) = "" Then MkDir chemin
fichier = "Files Actives" & "_" & "T1" & "_" & Sheets("TB").Range("B5") & "_" & Sheets("TB").Range("B8")
.PageSetup.PrintArea = .Range("A1:H69").Address
.PageSetup.CenterHeader = Sheets("TB").Range("B8")

.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
chemin & fichier, Quality:=xlQualityStandard, _
IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:=False

End With

End Sub
 

KTM

XLDnaute Impliqué
Re,

Etrange comme erreur

Tu peux nous mettre ton fichier anonymisé STP ?

A+
En tout cas tres étrange!
Par contre jai deplacé les deux feuilles sur lesquelles ma macro doit agir dans un nouveau classeur et ma macro fonctionne correctement
Bon DIEU Je comprends pas ce qui se passe .
 

Pièces jointes

  • Classeur1.xlsm
    246 KB · Affichages: 6

KTM

XLDnaute Impliqué
Bonjour,

Regarde si ta feuille "Impr" n'a pas une espace (invisible) devant ou après le nom

Sinon, effectivement, ton code fonctionne...
Sur le Fichier original je remarque que quand je supprime la feuille "Impr" et que je la recréé la macro fonctionne bien mais une seule fois et l'erreur revient. Comment peut on comprendre cela ?
 
C

Compte Supprimé 979

Guest
Bonsoir KTM,

Le problème vient du fait que ta feuille "Impr" est masqué lorsque tu veux l'exporter.
Or, elle doit être obligatoirement affichée, sinon bug.

A+
 

ml121

XLDnaute Nouveau
Bonjour,
Vous pouvez décider de laisser la feuille Impr masquée et ajouter cette ligne au début du code pour afficher la feuille masquée :
Worksheets("Impr").Visible = True

Puis celle-ci en fin de code pour masquer de nouveau la feuille Impr :
Worksheets("Impr").Visible = False
 
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…