Sheets(1).Select '1ère feuille
ActiveWorkbook.SaveAs chemin & c(1, 2), 51 'enregistre avec l'extension .xlsx
For i = 1 To Sheets.Count
With Sheets(i)
.Select False 'sélection multiple
.PageSetup.Zoom = False
.PageSetup.FitToPagesWide = 1
End With
Next i
ActiveSheet.ExportAsFixedFormat xlTypePDF, chemin & c(1, 2) 'fichier PDF
ActiveWorkbook.Close False 'ferme le document
Merci pour votre retour, c'est parfait, et effectivement j'en ai rajouté au fil de la discussion, et je te remercie beaucoup pour ton aide très précieuse,
J'aurai besoin encore d'un petit coup de main sur le fichier, en effet je souhaiterai effacer les codes VBA indiquées sur les feuilles dans le fichier nouvellement créer,
Je rejoint un fichier avec l'onglet G sur lequel il y a un petit code d'actualisation, je souhaiterai qu'il reste sur le fichier source mais pas sur le fichier créer, (classe3)
Je sais bien que j'en demande encore, donc je vous remercie d'avance pour votre aide,
Merci à vous, effectivement il s'agit de procédures événementielles, mais si vous n'auriez pas ajouter les codes de désactivations des évènements et de réactivation au bon endroit la procédure s'arrêter et un message d'erreur apparaissait,
J'aurai encore besoin de ton aide, je m'arrache les cheveux depuis ce matin
J'ai essayé de mettre ton code sur mon fichier de travail, mais il bloque lors de la suppression des noms,
Et je sèche, je ne sais pas pourquoi il mets un code erreur sur la ligne Delete, ne serait ce pas du aux requêtes?,
Je te joins un extrait de mon fichier de travail, sensiblement identique au précédent, mais avec les noms qui composent celui ci, pour voir ce qui pourrait bloquer,
Je pense savoir pourquoi mon gestionnaire de nom bloquait,
J'ai un nom qui s'appelle ANNEE et il faisait référence à la cellule ='EN TETE'!$AL$2
et un autre nom ANNEE_CLOTURE dont le nom se formait à la création : je sélectionnais la place de cellule ='EN TETE'!$AL$1:$AL$2 que je mettrais sous forme de requête par le suite, et la il me définissait dans le gestionnaire des noms la plage ='EN TETE'!$AL$2:$AL$2
Et la je pense que l'exécution de la procédure VBA bloque sur ce nom ,