Masquer des ligne

bonjour,

je souhaite masquer des lignes au moment de l'impresion (pour economisé du papier),

j'ai vu sur plusieur discution des solution mais n'arrive pas a l'appliquer a mon ficher

dans mon onglet "porcherie" j'ai une zone d'impression de defini (a2;e149)

j'ai deja un bouton "effacer les donnée"

ce que je cherche a faire c'est que lorsque qu'un case de la colone A est nul la ligne ce masque a l'impression


Bonjour

Macro à copier dans le module ThisWorkbook

Private Sub Workbook_BeforePrint(Cancel As Boolean)
Dim J As Long
  Application.ScreenUpdating = False
  For J = 11 To 149
    If Range("A" & J) & Range("B" & J) = "" Then
      Rows(J).Hidden = True
    End If
  Next J
  Application.ScreenUpdating = True
End Sub

il me met que j'ai une erreur avec

Rows(J).Hidden = True

Bonjour

Une erreur ?

Laquelle ?

Ta page est protégée ?

J'ai testé avec ton fichier et pas de souci particulier

oui elle est protegée


si j’ôte la protection sa fonctionne

exist'il une solution avec une page protege

le fichier peut etre utilisé par d'autre et j'ai deja eu en noc qui m'a suprimé des formules


et si possible que les ligne a l'ecran ne soit pas masqué

Bonjour

nanie a écrit :

exist'il une solution avec une page protege

Une solution consiste à déprotéger au début de la macro et à protéger à la fin

Private Sub Workbook_BeforePrint(Cancel As Boolean)
Dim J As Long
  ActiveSheet.Unprotect Password:=""
  Application.ScreenUpdating = False
  For J = 11 To 149
    If Range("A" & J) & Range("B" & J) = "" Then
      Rows(J).Hidden = True
    End If
  Next J
  Application.ScreenUpdating = True
  ActiveSheet.Protect Password:=""
End Sub

Si un mot de passe existe à toi de la placer entre les guillemets

nanie a écrit :

et si possible que les ligne a l'ecran ne soit pas masqué

Moi je n'ai pas de solution pour ça, et je doute qu'il en existe (je ne connais pas tout)

Merci,

sa solutionnepas mon probleme a proprement parlé mais je pense avoir trouvé la solution

je vais faire en sorte que mes resultat arrive sur une autre feuille comme sa la feuille ou je rentre mes donné restera visible sans etre oblige d'auté la protection pour les remettre en visible

oui c'est bien mais pas idéal si je fais une modification sur une partie qui a été masqué a l'impression presedante je doit oter le mot de passe reaffiche les ligne pour apres relancé

j'ai trouvé sa mais je ne sais pas le modifie pour qu'il s'applique a mon tableau

un exemple avec 2 boutons bascule, le premier si on ne teste que les vides de la colonne A et le second si on teste tous les vides (8 colonnes).

Code :

Private Sub ToggleButton1_Click()

Dim Li As Integer, col As Byte

Application.ScreenUpdating = False

[A16:A207].EntireRow.Hidden = 0

ToggleButton1.Caption = IIf(ToggleButton1.Caption = "cacher", "afficher", "cacher")

For Li = 16 To 207

If ToggleButton1.Caption = "afficher" And (Cells(Li, 1) = "" Or Cells(Li, 1) = 0) Then Rows(Li).Hidden = 1

Next

Application.ScreenUpdating = True

'If ToggleButton1.Caption = "afficher" Then [A1:H207].PrintPreview

End Sub

Private Sub ToggleButton2_Click()

Dim Li As Integer, col As Byte

Application.ScreenUpdating = False

[A16:A207].EntireRow.Hidden = 0

ToggleButton2.Caption = IIf(ToggleButton2.Caption = "cacher", "afficher", "cacher")

For Li = 16 To 207

For col = 1 To 8

If ToggleButton2.Caption = "afficher" And (Cells(Li, col) = "" Or Cells(Li, col) = 0) Then Rows(Li).Hidden = 1: Exit For

Next

Next

Application.ScreenUpdating = True

'If ToggleButton2.Caption = "afficher" Then [A1:H207].PrintPreview

End Sub

j'ai trouvé ce que je veux reste a l'adapter a mon fichier

sa serait d'integrer 2 bouton comme dans le fichier ci joint en exemple

sa zone de verification de ligne vide a10:a149

mais la s'arrete mes competance sur vba

Bonjour

A vérifier

super sa fonctionne merci


super sa a l'aire de fonctionner

grand merci


merci beaucoup

Rechercher des sujets similaires à "masquer ligne"