Modifier macro de zone d'impression automatique

Fermé
ButteDuLac Messages postés 495 Date d'inscription jeudi 5 mars 2009 Statut Membre Dernière intervention 24 octobre 2020 - 3 sept. 2015 à 15:55
 Maurice - 10 sept. 2015 à 15:35
Bonjour,

D'abord, mes connaissances en VBA sont très légères.
J'ai trouvé une macro par recherche Google, qui répond à mon besoin de définir ma zone d'impression automatiquement selon les données entrées dans un tableau.
J'ai trouvé ici comment l'intégrer dans mon classeur de macro personnelles.
Maintenant, comme elle est définie sur les colonnes A à C, j'aimerais aussi que la colonne soit automatisée, afin que si mon tableau comporte plus de 3 colonnes, je puisse utiliser la macro et que la zone se définisse à la fois sur les lignes et les colonnes.
Voici le code de cette macro :

Sub ZoneImpAuto()
'
' ZoneImpAuto Macro
' Redéfinir automatiquement la zone d'impression selon informations entrées dans colonne A.
'
Dim derline As Integer
derline = Range("A65536").End(xlUp).Row
ActiveSheet.PageSetup.PrintArea = "A1:C" & derline
'
End Sub


Est-ce que quelqu'un peut m'apporter la correction pour que dernière colonne soit automatique? (Si c'est possible, bien sûr...)

Merci à l'avance pour votre aide!
A voir également:

2 réponses

Gyrus Messages postés 3334 Date d'inscription samedi 20 juillet 2013 Statut Membre Dernière intervention 9 décembre 2016 523
3 sept. 2015 à 16:08
Bonjour,

Si le but est de définir la zone couverte par la plage utilisée dans la feuille, le plus simple est de ne pas définir de zone d'impression.


A+
0
ButteDuLac Messages postés 495 Date d'inscription jeudi 5 mars 2009 Statut Membre Dernière intervention 24 octobre 2020 40
Modifié par ButteDuLac le 10/09/2015 à 14:35
En fait, mon but serait de définir à la zone d'un Tableau X (tableau avec un nom). Car c'est vrai que dans mon explication, on dirait que la zone va couvrir l'ensemble des données dans la feuille.
Donc, c'est peut-être impossible? À moins qu'on puisse créer une macro paramétrée qui définit la zone à TableauN? Ou à une zone nommée?
0
Bonjour

a Voir si ca te va
Sub ZoneImpAuto()
Dim DerLine, Col As Long
   'Nombre de Colonne dans la Ligne 1
   Col = Rows(1).Find("*", , , , xlByRows, xlPrevious).Column
   ' Nombre de Ligne dans la Colonne A
   DerLine = Range("A" & Rows.Count).End(xlUp).Row
   ActiveSheet.PageSetup.PrintArea = Range("A1", Cells(DerLine, Col)).Address
End Sub

A+
Maurice
0