Impression de plusieurs feuilles excel sur une seule page
BIDRU72
Messages postés1Date d'inscriptionvendredi 14 novembre 2008StatutMembreDernière intervention14 novembre 2008
-
14 nov. 2008 à 16:51
cs_Orohena
Messages postés577Date d'inscriptionvendredi 26 septembre 2008StatutMembreDernière intervention20 novembre 2010
-
19 nov. 2008 à 00:16
Bonjour,
Dans un fichier Excel, j'ai plusieurs feuilles qui représentent chacune un tableau dans lequel je peux saisir des informations. Lorsque, je me positionne sur le 1er tableau, j'ai créé un bouton pour imprimer uniquement les cellules non vides :
Sub zoneimpres_click()
For x = 400 To 1 Step -1
Range("B" & x & ":K" & x).Select
For Each cel In Selection
If Trim(cel.Value) <> "" Then
fin = x
GoTo suite
End If
Next cel
Next x
suite:
ActiveSheet.PageSetup.PrintArea = "$A$1:$K$" & fin
ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True
Range("A1").Select
End Sub
Maintenant, je voudrais qu'en cliquant sur ce bouton, cela m'imprime tout les tableaux avec cellules non vides sur une seule page.
Merci
A voir également:
Impression de plusieurs feuilles excel sur une seule page
cs_Orohena
Messages postés577Date d'inscriptionvendredi 26 septembre 2008StatutMembreDernière intervention20 novembre 20104 19 nov. 2008 à 00:16
Bonjour bidru72
Voici un code qui doit faire grosso-modo ce que tu demandes.
Tu dois avoir créé une feuille "Impression" avant d'exécuter.
Option Explicit
Dim ligne As Integer
Sub zoneimpres_click()
Dim x As Integer, cel As Range
Application.ScreenUpdating = False
For x = 30 To 1 Step -1
Range("B" & x & ":K" & x).Select
For Each cel In Selection
If Trim(cel.Value) <> "" Then
copie cel.Row
Exit For
End If
Next cel
Next x
Application.ScreenUpdating = True
End Sub
Sub copie(ByVal l As Integer)
ligne = ligne + 1
Rows(l).Select ' Sélectionne la ligne x
Selection.Copy ' Copie la sélection
ActiveSheet.Paste _
Worksheets("Impression").Range("A" & ligne) ' Colle la selection
End Sub
Sub initFeuilleImpression()
Worksheets("Impression").Cells.Clear
ligne = 0
End Sub
cs_Orohena
Messages postés577Date d'inscriptionvendredi 26 septembre 2008StatutMembreDernière intervention20 novembre 20104 19 nov. 2008 à 00:16
Bonjour bidru72
Voici un code qui doit faire grosso-modo ce que tu demandes.
Tu dois avoir créé une feuille "Impression" avant d'exécuter.
Option Explicit
Dim ligne As Integer
Sub zoneimpres_click()
Dim x As Integer, cel As Range
Application.ScreenUpdating = False
For x = 30 To 1 Step -1
Range("B" & x & ":K" & x).Select
For Each cel In Selection
If Trim(cel.Value) <> "" Then
copie cel.Row
Exit For
End If
Next cel
Next x
Application.ScreenUpdating = True
End Sub
Sub copie(ByVal l As Integer)
ligne = ligne + 1
Rows(l).Select ' Sélectionne la ligne x
Selection.Copy ' Copie la sélection
ActiveSheet.Paste _
Worksheets("Impression").Range("A" & ligne) ' Colle la selection
End Sub
Sub initFeuilleImpression()
Worksheets("Impression").Cells.Clear
ligne = 0
End Sub