Comment sélectionner plage cellule après filtre pour lançer une impression

jojo2006

XLDnaute Occasionnel
Bonjour à tous,


voilà je souhaiterai savoir comment sélectionner une plage de cellule après avoir filtrer un critère.
Le but est de définir ensuite la zone d'impression après avoir sélectionner la plage et de lançer une impression.


Je donne un exemple.

Je filtre sur un critère (et j'obtiens disons 50 lignes répondant au filtre)
Je souhaiterai sélectionner alors la plage A1 F50 (F est arbitraire mais fixe ET on suppose qu'il ne s'agit pas de la dernière colonne). Définir la zone avec ActiveSheet.PageSetup.PrintArea = "????" et lançer l'impression (là je vais me débrouiller pour cette partie ;) )

En résumé, il n'y aurait que la valeur 50 qui serait variable.

J'espère avoir bien expliqué ma problématique

Merci d'avance à tous

Cordialement
 

DoubleZero

XLDnaute Barbatruc
Re : Comment sélectionner plage cellule après filtre pour lançer une impression

Bonjour, jojo2006, le Forum,

Peut-être ainsi :

Code:
Option Explicit
Sub Imprimer()
Range(Range("a1"), Range("f1").End(xlDown)).PrintPreview 'impression visualiser
'Range(Range("a1"), Range("f1").End(xlDown)).PrintOut  'impression lancer
End Sub

A bientôt :)
 

jojo2006

XLDnaute Occasionnel
Re : Comment sélectionner plage cellule après filtre pour lançer une impression

bonjour doublezero, le forum,


merci pour ta proposition mais en fait je souhaiterai définir la zone avec la syntaxe ci dessous (je ne veux pas visualiser).
J'ai essayé le code ci dessous en passant par une variable mais en rouge il y a une faute (il manque quelque chose!) :mad:

Dim maplage As Range

Set maplage = Range(Range("a1").End(xlDown), Range("h1"))
ActiveSheet.PageSetup.PrintArea = maplage


Merci si vous voyez ce qu'il manque pour que ce code fonctionne

Bonne journée
 
Dernière édition:

DoubleZero

XLDnaute Barbatruc
Re : Comment sélectionner plage cellule après filtre pour lançer une impression

Bonjour, jojo2006, le Forum,

Comme ci-après, peut-être :

Code:
Option Explicit
Sub Plage_imprimer()
    Dim maplage As Range
    Set maplage = Range(Range("a1"), Range("h1").End(xlDown))
    ActiveSheet.PageSetup.PrintArea = maplage.Address
    maplage.PrintOut
End Sub

A bientôt :)
 

Discussions similaires

Statistiques des forums

Discussions
312 201
Messages
2 086 172
Membres
103 152
dernier inscrit
Karibu