Imprimer cellule non vide
Le
Tibert
Bonjour à tous
J'ai une macro qui me permettais d'imprimer sur une plage les lignes
non vide, je veux l'utiliser pour un nouveau tableau mais voilà c'est
un tableau qui comporte des formules dont il considère les lignes
écrite à cause des formules !
SVP :auriez vous une solution ou que dois je modifié
Merci à vous et bonne soirée.
***************************************************************************=
*********
Sub ImprimeTabMois()
impressionAutorisée = True
Set champ = Range("$A$4:$J$160")
champ.Find("*", , , , xlByRows, xlPrevious).Offset(1, 0).Select
n = champ.Columns.Count
champ.Cells(65000, 1).End(xlUp).Offset(1, 0).Select
For i = 1 To champ.Rows.Count
If Application.CountA(champ.Cells(i, 1).Resize(1, n)) = 0 Then
Union(Selection, champ.Cells(i, 1)).Select
End If
Next i
Selection.EntireRow.Hidden = True
ActiveSheet.PageSetup.PrintArea = champ.Address
ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True
Cells.EntireRow.Hidden = False
Range("A6").Select
impressionAutorisée = False
End Sub
J'ai une macro qui me permettais d'imprimer sur une plage les lignes
non vide, je veux l'utiliser pour un nouveau tableau mais voilà c'est
un tableau qui comporte des formules dont il considère les lignes
écrite à cause des formules !
SVP :auriez vous une solution ou que dois je modifié
Merci à vous et bonne soirée.
***************************************************************************=
*********
Sub ImprimeTabMois()
impressionAutorisée = True
Set champ = Range("$A$4:$J$160")
champ.Find("*", , , , xlByRows, xlPrevious).Offset(1, 0).Select
n = champ.Columns.Count
champ.Cells(65000, 1).End(xlUp).Offset(1, 0).Select
For i = 1 To champ.Rows.Count
If Application.CountA(champ.Cells(i, 1).Resize(1, n)) = 0 Then
Union(Selection, champ.Cells(i, 1)).Select
End If
Next i
Selection.EntireRow.Hidden = True
ActiveSheet.PageSetup.PrintArea = champ.Address
ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True
Cells.EntireRow.Hidden = False
Range("A6").Select
impressionAutorisée = False
End Sub

Poser une question


Essaie cette macro :
Tu dois renseigner la variable "Sh" selon ton application.
La procédure utilise une colonne supplémentaire "K" que tu peux remplacer
par celle de ton choix au besoin...
Après test, tu remplaces : Sh.PrintPreview Par Sh.PrintOut
'--------------------------------------------------------
Sub ImprimeTabMois1()
Dim Sh As Worksheet, DerLig As Long
Set Sh = Worksheets("Feuil1")
With Sh
With .Range("$A$4:$J$160")
DerLig = .Find(What:="*", _
LookIn:=xlValues, _
SearchOrder:=xlByRows, _
SearchDirection:=xlPrevious).Row
Sh.Range("K4:K" & DerLig).FormulaLocal = _
"=Nbval(" & .Item(1).Rows(1).Resize _
(, .Columns.Count).Address(0, 0) & ")"
End With
With .Range("k3:K" & DerLig)
.AutoFilter field:=1, Criteria1:="<>" & 0, visibleDropDown:úlse
Sh.PrintPreview 'Sh.PrintOut
.AutoFilter
.ClearContents
End With
End With
End Sub
'--------------------------------------------------------
MichD
------------------------------------------
"Tibert" a écrit dans le message de groupe de discussion :
Bonjour à tous
J'ai une macro qui me permettais d'imprimer sur une plage les lignes
non vide, je veux l'utiliser pour un nouveau tableau mais voilà c'est
un tableau qui comporte des formules dont il considère les lignes
écrite à cause des formules !
SVP :auriez vous une solution ou que dois je modifié
Merci à vous et bonne soirée.
************************************************************************************
Sub ImprimeTabMois()
impressionAutorisée = True
Set champ = Range("$A$4:$J$160")
champ.Find("*", , , , xlByRows, xlPrevious).Offset(1, 0).Select
n = champ.Columns.Count
champ.Cells(65000, 1).End(xlUp).Offset(1, 0).Select
For i = 1 To champ.Rows.Count
If Application.CountA(champ.Cells(i, 1).Resize(1, n)) = 0 Then
Union(Selection, champ.Cells(i, 1)).Select
End If
Next i
Selection.EntireRow.Hidden = True
ActiveSheet.PageSetup.PrintArea = champ.Address
ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True
Cells.EntireRow.Hidden = False
Range("A6").Select
impressionAutorisée = False
End Sub
'------------------------------------------
Sub ImprimeTabMois1()
Dim Sh As Worksheet, DerLig As Long, Adr As String
Set Sh = Worksheets("Feuil1")
With Sh
With .Range("$A$4:$J$160")
Adr = .Parent.Name & "!" & .Address
DerLig = .Find(What:="*", _
LookIn:=xlValues, _
SearchOrder:=xlByRows, _
SearchDirection:=xlPrevious).Row
Sh.Range("K4:K" & DerLig).FormulaLocal = _
"=Nbval(" & .Item(1).Rows(1).Resize _
(, .Columns.Count).Address(0, 0) & ")"
End With
With .Range("k3:K" & DerLig)
.AutoFilter field:=1, Criteria1:="<>" & 0, visibleDropDown:úlse
Sh.PageSetup.PrintArea = Adr
Sh.PrintPreview 'Sh.PrintOut
Sh.PageSetup.PrintArea = ""
.AutoFilter
.ClearContents
End With
End With
End Sub
'------------------------------------------
MichD
------------------------------------------
Merci pour ta réponse ! mais serait il possible d'avoir le code sans
le nom de feuille
car je veux utiliser cette macro sur feuille active et comme je fais
un bouton pour utiliser
cette macro sa me permette de l'utiliser sur plusieurs feuille.
Merci !
On 31 jan, 21:07, "MichD"
Pour info et en complément sur mon tableau la colonne A n'a pas de
formule es ce que elle peut être utiliser pour faire le code !
Meci
On 31 jan, 21:07, "MichD"
Sub ImprimeTabMois1()
Dim Sh As Worksheet, DerLig As Long, Adr As String
Set Sh = ActiveSheet
With Sh
With .Range("$B$4:$J$160")
Adr = .Parent.Name & "!" & .Address
DerLig = .Find(What:="*", _
LookIn:=xlValues, _
SearchOrder:=xlByRows, _
SearchDirection:=xlPrevious).Row
Sh.Range("A4:A" & DerLig).FormulaLocal = _
"=Nbval(" & .Item(1).Rows(1).Resize _
(, .Columns.Count).Address(0, 0) & ")"
End With
With .Range("A3:A" & DerLig)
.AutoFilter field:=1, Criteria1:="<>" & 0, visibleDropDown:úlse
Sh.PageSetup.PrintArea = Adr
Sh.PrintPreview 'Sh.PrintOut
Sh.PageSetup.PrintArea = ""
.AutoFilter
.ClearContents
End With
End With
End Sub
'------------------------------------------
MichD
------------------------------------------
"Tibert" a écrit dans le message de groupe de discussion :
Bonsoir MichD
Pour info et en complément sur mon tableau la colonne A n'a pas de
formule es ce que elle peut être utiliser pour faire le code !
Meci
On 31 jan, 21:07, "MichD"