Sélectionner Zone Impression

  • Initiateur de la discussion Initiateur de la discussion hasardeux
  • 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 !

H

hasardeux

Guest
Salut,

J'ai un classeur avec plusieurs feuilles contenant chacune un tableau de dimensions différents.

Comment en utilisant VBA, définir la zone d'impression pour chaque feuille avec les conditions suivantes:

- Lignes à répéter: $1:$5
- Colonnes à répéter: $B:$C
- A partir de la cellule D6:

* vers la droite sélectionner jusqu'à où une des cellules de la ligne 5 (D5, E5, F5, .....) est vide (si par exemple M5 est vide ==> alors la sélection serait D6:L6)

* vers le bas, sélectionner jusqu'à où une des cellules de la colonne C (C6, C7, C8, ....) est vide (si par exemple C19 est vide ==> alors la sélection serait D6😀18)

Comme résultat de la plage à sélectionner selon les deux exemples, j'aurais : D6:L6 + D6😀18 = D6:L18

J'espère être précis

Merci par avance de votre aimable aide et conseils
 
Bonsoir hasardeux,

Peut-être peux-tu essayer la procédure suivante :
Sub DefZoneImprim()
Dim LMax As Long, CMax As Integer
Dim
Plage As Range

      With ActiveSheet
            CMax = .Cells(5, 256).End(xlToLeft).Column
            LMax = .Cells(65536, 3).End(xlUp).Row
           
            .PageSetup.PrintArea = .Range(.Cells(6, 4), Cells(LMax, CMax)).Address
            .PageSetup.PrintTitleRows = '$1:$5'
            .PageSetup.PrintTitleColumns = '$B:$C'
      End With
End Sub
Cordialement,
 
Merci bcp pour votre aide.

Il me réside un seul probème:

En fait je voudrais pas que les colonnes incluses dans la plage d'impression soit réparties sur pluisieurs pages. Il faut que ça tient sur une seule page.

Par contre le nombre de ligne est illimité et peut avoir plusieurs pages

Comment inclure cette condition

NB: J'ai essayé par l'enregistreur MACRO, mais le problème persiste tjrs
 
Bonsoir hasardeux, le Forum,

Tu devrais pouvoir essayer avec ça :
Sub DefZoneImprim()
Dim LMax As Long, CMax As Integer
Dim
Plage As Range

      With ActiveSheet
            CMax = .Cells(5, 256).End(xlToLeft).Column
            LMax = .Cells(65536, 3).End(xlUp).Row
      End With
           
      With ActiveSheet.PageSetup
            .PrintArea = ActiveSheet.Range(.Cells(6, 4), Cells(LMax, CMax)).Address
            .PrintTitleRows = '$1:$5'
            .PrintTitleColumns = '$B:$C'

            .FitToPagesWide = 1
            .FitToPagesTall = False
      End With
End Sub
Cordialement,
 
- 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
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Réponses
12
Affichages
1 K
Retour