IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Macros et VBA Excel Discussion :

Imprimer Tableau suivant Nombres de Lignes [Toutes versions]


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Octobre 2008
    Messages
    211
    Détails du profil
    Informations personnelles :
    Âge : 57
    Localisation : France

    Informations forums :
    Inscription : Octobre 2008
    Messages : 211
    Par défaut Imprimer Tableau suivant Nombres de Lignes
    Bonjour le forum,

    je cherche le code qui me permettrais à l'impression de visualiser et d'imprimer un tableau qui se trouve de A5 à J 105 par rapport au nombre de lignes noter en cellules E4 .
    Ex: j'ai 35 de noter en E4 et donc je ne veux imprimer le tableau de A5 à J35
    merci d'avance pour votre aide
    jack

  2. #2
    Membre chevronné
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    473
    Détails du profil
    Informations personnelles :
    Localisation : France, Vendée (Pays de la Loire)

    Informations forums :
    Inscription : Novembre 2007
    Messages : 473
    Par défaut
    vite fait surement une autre technique!

    adapter l'imprimante

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
       Sub Imprim()
     
        Sheets("feuil1").Range("A5:J" & Sheets("feuil1").Range("e4")).Select
        Application.ActivePrinter = "PDFCreator sur Ne00:"
     
        ExecuteExcel4Macro "PRINT(1,,,1,,,,,,,,1,,,TRUE,,FALSE)"
        Range("a1").Select
    End Sub

  3. #3
    Inactif  

    Homme Profil pro
    cuisiniste
    Inscrit en
    Avril 2009
    Messages
    15 374
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : cuisiniste
    Secteur : Bâtiment

    Informations forums :
    Inscription : Avril 2009
    Messages : 15 374
    Billets dans le blog
    8
    Par défaut heu
    bonjour
    une macro sur mesure pour toi
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    Sub apercu_de_la_plage()
        Dim plage As String
        plage = "$A$5:$j$" & [E4]
        With ActiveSheet.PageSetup
            .PrintArea = plage
            .Zoom = False
            .FitToPagesWide = 1
            .FitToPagesTall = 1
            .CenterHorizontally = True
            .CenterVertically = True
            .Orientation = xlPortrait
            ActiveWindow.SelectedSheets.PrintPreview
       End With
        End Sub
    Au plaisir
    mes fichiers dans les contributions:
    mail avec CDO en vba et mail avec CDO en vbs dans un HTA
    survol des bouton dans userform
    prendre un cliché d'un range

    si ton problème est résolu n'oublie pas de pointer : : ça peut servir aux autres
    et n'oublie pas de voter

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Octobre 2008
    Messages
    211
    Détails du profil
    Informations personnelles :
    Âge : 57
    Localisation : France

    Informations forums :
    Inscription : Octobre 2008
    Messages : 211
    Par défaut
    Bonjour le forum, jijie, patricktoulon,

    J'avais ce code qui me servait avant avec Derlig mais comme maintenant, il y a des formules dans mes cellules, c'est pour ceci que j'ai ajouté le nombre de ligne à imprimer en E4 et du coup, je voulais savoir comment adapter le code de Patrick au mien
    merci
    jacky
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    Sub ImprimMoi(ByVal WsName As String)
    Application.ScreenUpdating = False
    Dim ws As Worksheet
    Dim MaPlage As Range
        Set ws = Worksheets(WsName)
        Derlig = ws.Range("A" & ws.Rows.Count).End(xlUp).Row
        Set MaPlage = ws.Range("B1:H" & Derlig)
    Rows("2:4").Hidden = True
    With ws.PageSetup
        .PrintArea = MaPlage.Address
           '.LeftFooter = ""
           .CenterFooter = "&""Times New Roman,italique""&12" & [FT8] & Chr(10) & [FW8] & " , " & [FX8] & " , " & [FY8] & "   " & [FZ8] & "  " & [GA8] & "  " & Chr(10) & [GC8]
           '.RightFooter = ""
    End With
    With ws.PageSetup
    .PrintArea = MaPlage.Address
           '.LeftHeader = ""
           .CenterHeader = "&""Times New Roman,italique""&20" & [F2] & Chr(10) & [G4] & "  " & [GA8] & Chr(10) & [C2] & Chr(10) & [D4] & Chr(10) & [D3] & "  " & [C4]
            '.RightHeader = ""
    End With
        ws.PrintOut Copies:=4, Collate:=True
    Application.ScreenUpdating = True
    End Sub
    et le code de Patrick
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    Sub apercu_de_la_plage()
        Dim plage As String
        plage = "$A$5:$j$" & [E4]
        With ActiveSheet.PageSetup
            .PrintArea = plage
            .Zoom = False
            .FitToPagesWide = 1
            .FitToPagesTall = 1
            .CenterHorizontally = True
            .CenterVertically = True
            .Orientation = xlPortrait
            ActiveWindow.SelectedSheets.PrintPreview
       End With
        End Sub

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Octobre 2008
    Messages
    211
    Détails du profil
    Informations personnelles :
    Âge : 57
    Localisation : France

    Informations forums :
    Inscription : Octobre 2008
    Messages : 211
    Par défaut
    Re le forum,

    je viens de trouver en m'aidant du code de Patrick et du coup j'ai fait comme ceci et cela fonctionne

    merci

    Re,

    Mais si quelqu'un à mieux , je suis preneur
    merci
    jacky

  6. #6
    Inactif  

    Homme Profil pro
    cuisiniste
    Inscrit en
    Avril 2009
    Messages
    15 374
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : cuisiniste
    Secteur : Bâtiment

    Informations forums :
    Inscription : Avril 2009
    Messages : 15 374
    Billets dans le blog
    8
    Par défaut re
    Re
    allez aux petits oignons
    voila ta macro transformée en fonction generique
    et en plus tu a l'apercu ou direct a la demande

    apel a la fonction
    le ",true" a la fin te permet d'avoir d'abords l'apercu si tu ne le met pas tu aura l'impression direct
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Sub test_imprimer_une_plage()
        ImprimMoi Sheets(1).Range("B1:H" & [E4]), True
        End Sub
    et maintenant la fonction
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    Function ImprimMoi(plage As Range, Optional apercu As Boolean = False)
    Application.ScreenUpdating = False
       plage.Parent.Activate
        With plage.Parent
            .Rows("2:4").Hidden = True
            With .PageSetup
                .PrintArea = plage.Address
                '.LeftFooter = ""
                .CenterFooter = "&""Times New Roman,italique""&12" & [FT8] & Chr(10) & [FW8] & " , " & [FX8] & " , " & [FY8] & "   " & [FZ8] & "  " & [GA8] & "  " & Chr(10) & [GC8]
                '.RightFooter = ""
                '.LeftHeader = ""
                .CenterHeader = "&""Times New Roman,italique""&20" & [F2] & Chr(10) & [G4] & "  " & [GA8] & Chr(10) & [C2] & Chr(10) & [D4] & Chr(10) & [D3] & "  " & [C4]
                '.RightHeader = ""
                .Zoom = False
                .FitToPagesWide = 1
                .FitToPagesTall = 1
                .CenterHorizontally = True
                .CenterVertically = True
                .Orientation = xlPortrait
            End With
        End With
         If apercu = False Then
       plage.Parent.PrintOut Copies:=4, Collate:=True
        Else
          plage.Parent.PrintPreview
          End If
        plage.Parent.Rows("2:4").Hidden = False
        Application.ScreenUpdating = True
    End Function
    aux petits oignons je vous dis moi
    au plaisir
    mes fichiers dans les contributions:
    mail avec CDO en vba et mail avec CDO en vbs dans un HTA
    survol des bouton dans userform
    prendre un cliché d'un range

    si ton problème est résolu n'oublie pas de pointer : : ça peut servir aux autres
    et n'oublie pas de voter

  7. #7
    Membre confirmé
    Profil pro
    Inscrit en
    Octobre 2008
    Messages
    211
    Détails du profil
    Informations personnelles :
    Âge : 57
    Localisation : France

    Informations forums :
    Inscription : Octobre 2008
    Messages : 211
    Par défaut
    Bonsoir le forum, Patrick,

    merci beaucoup, c'est super
    jack

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Tableau avec nombre de lignes variable
    Par grrd dans le forum Mise en page CSS
    Réponses: 3
    Dernier message: 28/05/2013, 12h05
  2. [XL-2010] générer un tableau de nombre de ligne varriable
    Par Matrixmax dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 14/05/2013, 14h17
  3. Réponses: 2
    Dernier message: 16/07/2007, 15h42
  4. Réponses: 1
    Dernier message: 05/01/2007, 15h33
  5. Réponses: 4
    Dernier message: 25/05/2005, 14h39

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo