Zone d'impression avec un tableau formaté
Résolu
ButteDuLac
Messages postés
495
Date d'inscription
Statut
Membre
Dernière intervention
-
ButteDuLac Messages postés 495 Date d'inscription Statut Membre Dernière intervention -
ButteDuLac Messages postés 495 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
J'ai une macro :
Que j'utilisais sans problème dans un classeur personnel, non verrouillé.
Je crée un classeur que je dois verrouiller (plusieurs formules et utilisateur moins habitué avec Excel), donc mon premier problème c'est que cette personne ne pourra pas ajouter de lignes dans son tableau (enfin, je n'ai pas pu trouver comment), alors je dois lui créer un tableau avec un nombre suffisant de lignes pour une utilisation de quelques semaines. Mais dans ce cas, c'est comme s'il y avait toujours quelque chose d'inscrit dans la colonne B, même si je n'ai entré aucune valeur. Alors la zone d'impression va jusqu'au bas du tableau (trois pages), même s'il n'y a que 5 lignes remplies.
J'aurais voulu un code qui indique, par exemple, "si colonneA >= 1" (car en A, il y a une formule : =SI(ESTVIDE(B8);"";LIGNE(B8)-7) donc s'il y a un nombre supérieur à 1, cela signifie qu'il y a une valeur entrée en colonne B.
Oups! Sauf qu'il faut que les lignes 1 à 6 soient intégrées automatiquement, car elles doivent être imprimées (sur la page 1) mais elles ne font pas partie du tableau, ce sont des lignes de texte précédant le tableau, et ma ligne 7 est la ligne d'entête du tableau et est répétée sur chaque page.
Comment puis-je réécrire mon code, svp?
Merci à l'avance!
J'ai une macro :
Sub ZoneImpAuto()
'
' ZoneImpAuto Macro
' Pour définir automatiquement la zone d'impression selon les données entrées en colonne B. Dernière colonne définie sur BX, à modifier au besoin.
'
Dim derline As Integer
derline = Range("B65536").End(xlUp).Row
ActiveSheet.PageSetup.PrintArea = "A1:BX" & derline
'
End Sub
Que j'utilisais sans problème dans un classeur personnel, non verrouillé.
Je crée un classeur que je dois verrouiller (plusieurs formules et utilisateur moins habitué avec Excel), donc mon premier problème c'est que cette personne ne pourra pas ajouter de lignes dans son tableau (enfin, je n'ai pas pu trouver comment), alors je dois lui créer un tableau avec un nombre suffisant de lignes pour une utilisation de quelques semaines. Mais dans ce cas, c'est comme s'il y avait toujours quelque chose d'inscrit dans la colonne B, même si je n'ai entré aucune valeur. Alors la zone d'impression va jusqu'au bas du tableau (trois pages), même s'il n'y a que 5 lignes remplies.
J'aurais voulu un code qui indique, par exemple, "si colonneA >= 1" (car en A, il y a une formule : =SI(ESTVIDE(B8);"";LIGNE(B8)-7) donc s'il y a un nombre supérieur à 1, cela signifie qu'il y a une valeur entrée en colonne B.
Oups! Sauf qu'il faut que les lignes 1 à 6 soient intégrées automatiquement, car elles doivent être imprimées (sur la page 1) mais elles ne font pas partie du tableau, ce sont des lignes de texte précédant le tableau, et ma ligne 7 est la ligne d'entête du tableau et est répétée sur chaque page.
Comment puis-je réécrire mon code, svp?
Merci à l'avance!
A voir également:
- Zone d'impression avec un tableau formaté
- Spouleur d'impression - Guide
- Tableau word - Guide
- Alternative zone telechargement - Accueil - Outils
- Trier un tableau excel - Guide
- Tableau ascii - Guide
1 réponse
Bonjour
essaies:
Si ca ne marche pas
Dans l’attente
essaies:
Option Explicit
'-------------------------------
Sub colb_vide()
Dim ligvid As Integer
With ActiveSheet
ligvid = .Columns("B").Find(what:="", after:=.Range("B7")).Row
.PageSetup.PrintArea = "A1:BX" & ligvid
End With
End Sub
Si ca ne marche pas
Mettre le classeur sans données confidentielles en pièce jointe sur https://www.cjoint.com/
et coller le raccourci proposé (clic droit) dans le message de réponse
Dans l’attente
Merci!
Est-ce qu'il y a une raison pour laquelle la ligne tout de suite après est incluse? (Une ligne en-dessous de la dernière ligne avec valeur...)
Au pire, c'est un détail, mais j'aimerais, par curiosité personne, comprendre.
Merci encore!
non, tu peux mettre un -1 à ligvid