Macro zone d'impression

Juan

XLDnaute Junior
Bonjour à tous,

j'ai besoin de votre aide pour une macro. Je pense que cela sera rapide :

Je souhaite, grâce à l'activation d'un bouton, définir une zone d'impression. Excepté le fait que : celle-ci variera en fonction de la personne sélectionnée (seulement les lignes et non les colonnes). Voici le code de l'enregistrement de ma macro :

Sub Zone_impr()
'
' Zone_impr Macro
'

'
Range(Selection, Selection.End(xlDown)).Select
Range(Selection, Selection.End(xlDown)).Select
Range(Selection, Selection.End(xlDown)).Select
Range("B1:T27").Select
ActiveSheet.PageSetup.PrintArea = "$B$1:$T$27"
End Sub

Comme vous pouvez le voir, la macro sélectionne la plage de cellule jusqu'à la ligne 27. Or je souhaite qu'elle sélectionne l'ensemble des lignes qui contiennent des données, cela donc peut varier en fonction de la personne sélectionnée.

Comme dois-je modifier le code ?

Merci de votre aide,
Jean
 

Juan

XLDnaute Junior
Re : Macro zone d'impression

En résumé :
- J'ai une feuille de base (onglet A) qui me permet d'afficher les données en fonction de la personne que je sélectionne via une liste déroulante
- je sélectionne toutes les données de cette personne et je les colle sur un autre onglet (onglet B) en format valeur + format
- et ce n'est qu'a partir de l'onglet B, que je créé ma zone d'impression en cliquant sur la macro.

C'est pourquoi, dans l'onglet B, la zone d'impression peut varier....

Est-ce un peu plus clair ?
 
C

Compte Supprimé 979

Guest
Re : Macro zone d'impression

Re,

Essaye ça
Code:
Sub Zone_impr()
  Dim DLig As Long
  ' Zone_impr Macro
  '
  With Sheets("OngletB")
    DLig = .Range("B" & Rows.Count).End(xlUp).Row
    .PageSetup.PrintArea = "$B$1:$T$" & DLig
  End With
End Sub

"OngletB" doit être le nom de ta feuille que tu veux imprimer

A+
 

Juan

XLDnaute Junior
Re : Macro zone d'impression

C'est top !! Ca marche niquel !!!! Merci beaucoup !!

J'ai une autre question : je créé une macro lors d'un enregistrement (voir ci-dessous) qui permet de généré un on onglet. Si je fais référence à mon pb au dessus, la macro permet de généré l'onglet B. Je souhaite que l'onglet prenne le nom de la cellule C2 lorsque je le génère. Voici le code :

Sub Générer_feuille()
'
' Générer_feuille Macro
'

'
Sheets("Feuille impression").Select
Sheets("Feuille impression").Copy After:=Sheets(8)
Range("C2").Select
Sheets("Feuille impression (2)").Select
Sheets("Feuille impression (2)").Name = "DISNAR GRÉGORY"
ActiveSheet.Shapes.Range(Array("Rounded Rectangle 2")).Select
ActiveSheet.Shapes.Range(Array("Rounded Rectangle 2", "Rounded Rectangle 1" _
)).Select
ActiveSheet.Shapes.Range(Array("Rounded Rectangle 2", "Rounded Rectangle 1", _
"Rounded Rectangle 3")).Select
Selection.Delete
Range("B6:T6").Select
Selection.AutoFilter
ActiveWorkbook.Worksheets("DISNAR GRÉGORY").AutoFilter.Sort.SortFields.Clear
ActiveWorkbook.Worksheets("DISNAR GRÉGORY").AutoFilter.Sort.SortFields.Add Key _
:=Range("G6"), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:= _
xlSortNormal
With ActiveWorkbook.Worksheets("DISNAR GRÉGORY").AutoFilter.Sort
.Header = xlYes
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With
Range("B1").Select
End Sub

En gros, remplacer "DISNAR GREGORY" par "=C2".

Sais-tu comment faire ?

Merci encore !
 
C

Compte Supprimé 979

Guest
Re : Macro zone d'impression

Re,

Pour clore la discussion, toi seul peut le faire en éditant ton 1er post et en mettant [RESOLU] devant le titre
C'est la seule façon de faire sur ce forum ;-)
 

Discussions similaires

Réponses
6
Affichages
507

Statistiques des forums

Discussions
312 360
Messages
2 087 596
Membres
103 604
dernier inscrit
CAROETALEX59