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

XL 2016 Mise en page automatique de tous les onglets du classeur

  • Initiateur de la discussion Initiateur de la discussion JUMJ
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

JUMJ

XLDnaute Junior
Bonjour,

En recherchant sur le forum j'ai réussi à créer une macro me permettant d'ajuster automatiquement la mise en page d'un onglet mais cela fonctionne uniquement pour l'onglet actif. Je souhaiterai modifier ma macro pour qu'elle le fasse pour tous les onglets du classeur.
Voici ma macro :
Sub mise_en_page_automatique()
Dim DLCA&, DC&
'dernière ligne non vide en colonne A
DLCA = Cells(Rows.Count, 1).End(xlUp).Row
'Dernière cellule non vide sur la dernière ligne
DC = Cells(DLCA, Columns.Count).End(xlToLeft).Column
'Définition de la zone d'impression
ActiveSheet.PageSetup.PrintArea = Range(Cells(1, 1), Cells(DLCA, DC)).Address
End Sub

Merci pour votre aide
 
Bonjour.
La traduction pour toutes les feuilles serait celle ci :
VB:
Sub MiseEnPageAutomatique()
Dim F As Worksheet, DLCA&, DC&
For Each F In ThisWorkbook.Worksheets
   DLCA = F.Cells(F.Rows.Count, 1).End(xlUp).Row
   'Dernière cellule non vide sur la dernière ligne
   DC = F.Cells(DLCA, F.Columns.Count).End(xlToLeft).Column
   'Définition de la zone d'impression
   F.PageSetup.PrintArea = F.Range(F.Cells(1, 1), F.Cells(DLCA, DC)).Address
   Next F
End Sub
Mais il me semble que comme ça ça devrait avoir le même résultat.
VB:
Sub MiseEnPageAutomatique()
Dim F As Worksheet
For Each F In ThisWorkbook.Worksheets
   F.PageSetup.PrintArea = F.UsedRange
   Next F
End Sub
 
Dernière édition:
Merci pour la réponse,
La première macro fonctionne parfaitement, en revanche pour la seconde j'ai le message Erreur d'exécution '13': incompatibilité de type, et le code F.PageSetup.PrintArea = F.UsedRange est surligné en jaune.
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
7
Affichages
163
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…