Définir automatiquement une zone d'impression

dbonneaud

XLDnaute Nouveau
J'ai besoin de définir automatiquement une zone d'impression, sans tenir compte des dernieres lignes contenant des cellules avec des formules mais non visibles par exemple =SI($A$19="";"";A19)

Voici le code que j'utilise mais qui selectionne les cellules vides contenant des formules.

Sub zone_impression()
' zone d'impression & aperçu
With Range("B:I")
Worksheets("Feuil2").Activate
ActiveSheet.PageSetup.PrintArea = Range("B7:I" & .Find("*", .Item(1), , , , xlPrevious).Row).Address
End With
ActiveWindow.SelectedSheets.PrintPreview
End Sub

Merci pour votre aide
 
Dernière édition:
G

Guest

Guest
Re : Définir automatiquement une zone d'impression

Bonsoir, bienvenue sur le forum

Un bonjour ou bonsoir ne fait jamais de mal...

Un exemple en fichier serait plus explicite.

Sinon essaie avec .SpecialCells. (si j'ai compris)

Et sur ta lancée: Lien supprimé

A+
 

Excel-lent

XLDnaute Barbatruc
Re : Définir automatiquement une zone d'impression

Bonjour et bienvenu sur le forum Dbonneaud,

Comme indiqué par Hasco, si tu pouvais d'abord dire "bonjour". Comme la politesse le suggère (et cela au début de chacun de tes pots, comme tout le monde ici).

Mais si tu ne connais pas les règles de politesse, ce n'est pas grave, tu peux les trouver ici : Lien supprimé.

Ensuite nous repartirons d'un bon pied et pourrons t'aider à résoudre ton p'tit soucis.

Bonne soirée
 

dbonneaud

XLDnaute Nouveau
Re : Définir automatiquement une zone d'impression

Bonjour à tous,
Je reformule ma question en essayant d’être plus claire.
J’ai un tableau se modifiant selon des critères de choix, le nombre de colonne est identique seul se modifie le nombre de ligne en fonction des critères choisies.
Les cellules ont toutes sur des centaines de lignes une formule permettant l’affichage ou pas de données selon les critères choisies.
Je souhaiterai pouvoir définir une zone d’impression ne prenant en compte que les cellules affichant des données.
Le code que j’utilise (ci-dessous) sélectionne l’ensemble des cellules affichant des données et des cellules contenant des formules.
Sub zone_impression()
' zone d'impression & aperçu
With Range("B:I")
Worksheets("Feuil2").Activate
ActiveSheet.PageSetup.PrintArea = Range("B7:I" & .Find("*", .Item(1), , , , xlPrevious).Row).Address
End With
ActiveWindow.SelectedSheets.PrintPreview
End Sub
Merci pour votre aide et mille excuses pour mes incivilités.
 

Excel-lent

XLDnaute Barbatruc
Re : Définir automatiquement une zone d'impression

Bonjour à toi Dbonneaud,

Comme indiqué par Hasco, peux-tu nous envoyer ton fichier simplifié?

Car j'ai du mal à comprendre tes besoins.

Par exemple que fais-tu si ta cellule A50 est vide (du moins contient 0 ou "") alors que la cellule B50 contient quelquechose.

Tu masque toute la ligne?

Si oui, l'utilisation des filtres automatiques ferait très bien l'affaire (à la main, ou via une macro).

A te lire

Cordialement
 

dbonneaud

XLDnaute Nouveau
Re : Définir automatiquement une zone d'impression

Bonjour,
Voici un petit extrait de mon fichier, en fonction des critères choisis dans la liste de choix le nombre de ligne augmente ou diminue. Le but étant en cliquant sur le bouton « Print Preview » de sélectionner automatiquement les lignes contenant du texte sans les lignes contenant que des formules.
Voila j’espère que vous pourrez me dépanner.
Merci
Didier
 

Pièces jointes

  • Fichier simplifié.zip
    42.7 KB · Affichages: 85
  • Fichier simplifié.zip
    42.7 KB · Affichages: 91
  • Fichier simplifié.zip
    42.7 KB · Affichages: 94
Dernière édition:

JCGL

XLDnaute Barbatruc
Re : Définir automatiquement une zone d'impression

Bonjour à tous,

Peux-tu essayer avec :

Code:
Sub zone_impression()
' zone d'impression & aperçu

Worksheets("Feuil1").Activate
ActiveWorkbook.Names.Add Name:="Zone", RefersToR1C1:= _
        "=OFFSET(Feuil1!R2C7:R43C18,,,COUNTIF(Feuil1!R2C7:R43C7,"">""&0)+6)"
ActiveSheet.PageSetup.PrintArea = "Zone"
ActiveWindow.SelectedSheets.PrintPreview
End Sub
A+ à tous
 
Dernière édition:

JCGL

XLDnaute Barbatruc
Re : Définir automatiquement une zone d'impression

Bonjour à tous,

Peux-tu essayer avec :

Code:
Option Explicit
Sub Zone_Name()
    Worksheets("F1").Activate
    ActiveWorkbook.Names.Add Name:="Zone", RefersToR1C1:= _
                             "=OFFSET(F1!R4C2:R200C16,,,COUNTIF(F1!R4C2:R200C2,"">""&0))"
    ActiveSheet.PageSetup.PrintArea = "Zone"
    ActiveWindow.SelectedSheets.PrintPreview

F1!R4C2:R200C16 signifie sur la feuille nommée F1 et pour la ligne 4 de la colonne 2 jusqu'à la ligne 200 de la colonne 16 soir B4:p200

A+ à tous
 

dbonneaud

XLDnaute Nouveau
Re : Définir automatiquement une zone d'impression

Bonjour à tous,
Merci pour ces précisions, mais j'ai encore un petit souci.
Comme je le montre dans mon fichier joint, il y a des cellules vides selon les informations disponibles. Seul la colonne I (dans l’exemple) est toujours renseignée et pourrait servir de référence.
Merci encore.
Didier
 

Pièces jointes

  • Fichier simplifié.zip
    41.9 KB · Affichages: 67
  • Fichier simplifié.zip
    41.9 KB · Affichages: 75
  • Fichier simplifié.zip
    41.9 KB · Affichages: 71

Discussions similaires

Statistiques des forums

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