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 :

Impression d'une zone dans un tableau et masquer une zone


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Avril 2008
    Messages
    59
    Détails du profil
    Informations forums :
    Inscription : Avril 2008
    Messages : 59
    Par défaut Impression d'une zone dans un tableau et masquer une zone
    Bonjour,

    dans ma feuille j'ai deux tableaux comme suite:

    Tableau 1:

    A1:AM188


    Tableau 2:

    F193:AD218

    je veux créer une macro pour:

    l'impression de début de tableau 1 jusqu'au la dernière ligne qui est remplie donc pas tout le tableau

    tout le tableau 2

    Merci d'avance

  2. #2
    Membre expérimenté
    Inscrit en
    Février 2008
    Messages
    208
    Détails du profil
    Informations forums :
    Inscription : Février 2008
    Messages : 208
    Par défaut
    bonjour

    essaye ce bout de code :
    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 test()
        'Tableau1
        NumPremièreLigne = 1
        NumDernièreLigne = Range("A1").End(xlDown).Row
        Range("A" & NumPremièreLigne & ":AM" & NumDernièreLigne).Select
        ActiveSheet.PageSetup.PrintArea = Selection.Address
        ActiveSheet.PrintPreview
        'ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True
        'Tableau2
        Range("F193:AD218").Select
        ActiveSheet.PageSetup.PrintArea = Selection.Address
        ActiveSheet.PrintPreview
        'ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True
    End Sub
    j'ai volontairement neutralisé le processus d'impression ('ActiveWindow.SelectedSheets.PrintOut ...) car avant d'imprimer, il faudra que tu règles les marges de ta feuille, ...
    Par contre tu as un aperçu avant impression.

    à plus

  3. #3
    Membre confirmé
    Inscrit en
    Avril 2008
    Messages
    59
    Détails du profil
    Informations forums :
    Inscription : Avril 2008
    Messages : 59
    Par défaut
    Citation Envoyé par Le Pierre Voir le message
    bonjour

    essaye ce bout de code :
    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 test()
        'Tableau1
        NumPremièreLigne = 1
        NumDernièreLigne = Range("A1").End(xlDown).Row
        Range("A" & NumPremièreLigne & ":AM" & NumDernièreLigne).Select
        ActiveSheet.PageSetup.PrintArea = Selection.Address
        ActiveSheet.PrintPreview
        'ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True
        'Tableau2
        Range("F193:AD218").Select
        ActiveSheet.PageSetup.PrintArea = Selection.Address
        ActiveSheet.PrintPreview
        'ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True
    End Sub
    j'ai volontairement neutralisé le processus d'impression ('ActiveWindow.SelectedSheets.PrintOut ...) car avant d'imprimer, il faudra que tu règles les marges de ta feuille, ...
    Par contre tu as un aperçu avant impression.

    à plus


    Bnjour et merci pour votre aide

    pour le deuxième tableau c'est ok

    pour le premier non , voici ce qu'il m'a imprimé:





    alors que le tableau est comme ça:




    Je veux aussi que la macro imprime directement

    merci encore

  4. #4
    Expert confirmé
    Avatar de fring
    Homme Profil pro
    Engineering
    Inscrit en
    Février 2008
    Messages
    3 900
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : Belgique

    Informations professionnelles :
    Activité : Engineering

    Informations forums :
    Inscription : Février 2008
    Messages : 3 900
    Par défaut
    Bonjour,

    Pour imprimer sur l'imprimante définie par défaut, il faut :
    1. définir la zone d'impression
    2. lancer l'impression

    Ce qui donnerait pour ton premier tableau 1
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    With Sheets("TaFeuille")
        .PageSetup.PrintArea = "$A$1:$AM$" & Range("AM189").End(xlUp).Row
        .PrintOut Copies:=1, Collate:=True
    End With
    et pour le tableau 2
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    With Sheets(3)
        .PageSetup.PrintArea = "$F$193:$AD$218"
        .PrintOut Copies:=1, Collate:=True
    End With
    Si tu veux lancer les impressions sur une autre imprimante que celle définie par défaut, un ptit truc tout simple, tu actionnes l'enregistreur de macro, tu lances une impression en modifiant tous les paramètres que tu veux, tu arrêtes l'enregistreur de macro et tu pourras voir dans cette nouvelle macro enregistrée les paramètres nom de l'imprimante, format de feuille, mise en page, etc...

  5. #5
    Membre confirmé
    Inscrit en
    Avril 2008
    Messages
    59
    Détails du profil
    Informations forums :
    Inscription : Avril 2008
    Messages : 59
    Par défaut
    Citation Envoyé par fring Voir le message
    Bonjour,

    Pour imprimer sur l'imprimante définie par défaut, il faut :
    1. définir la zone d'impression
    2. lancer l'impression

    Ce qui donnerait pour ton premier tableau 1
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    With Sheets("TaFeuille")
        .PageSetup.PrintArea = "$A$1:$AM$" & Range("AM189").End(xlUp).Row
        .PrintOut Copies:=1, Collate:=True
    End With
    et pour le tableau 2
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    With Sheets(3)
        .PageSetup.PrintArea = "$F$193:$AD$218"
        .PrintOut Copies:=1, Collate:=True
    End With
    Si tu veux lancer les impressions sur une autre imprimante que celle définie par défaut, un ptit truc tout simple, tu actionnes l'enregistreur de macro, tu lances une impression en modifiant tous les paramètres que tu veux, tu arrêtes l'enregistreur de macro et tu pourras voir dans cette nouvelle macro enregistrée les paramètres nom de l'imprimante, format de feuille, mise en page, etc...


    ça marche très bien

    mais je veux copier le bouton de l'impression dans 15 autres feuilles (au total 16) donc le bouton va m'imprimer la feuille d'origine ou le bouton a été copié n'est ce pas?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    With Sheets("TaFeuille")
    Faut-il remplacer ça ?


    ------------------------------------------------


    Me revoilà

    ça marche pour toutes les autres page comme ça:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    Sub Image6_Clic()
        With ActiveSheet
        .PageSetup.PrintArea = "$A$1:$AM$" & Range("AM189").End(xlUp).Row
        .PrintOut Copies:=1, Collate:=True
    End With
         With ActiveSheet
        .PageSetup.PrintArea = "$F$193:$AD$218"
        .PrintOut Copies:=1, Collate:=True
    End With
    End Sub
    le malheur est que si une case est vide dans la ligne toute la ligne ne s'imprime pas

  6. #6
    Membre expérimenté
    Inscrit en
    Février 2008
    Messages
    208
    Détails du profil
    Informations forums :
    Inscription : Février 2008
    Messages : 208
    Par défaut
    bonjour

    je n'ai pas pu voir l'image de ton tableau avant et après
    est-ce que tu as bien des données à partir de A1 ?
    est-ce qu'il n'y a pas de cellules vides dans la colonne A entre la 1ère et la dernière ligne ?

    pour imprimer directement il suffit d'enlever le ' devant :
    'ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True
    et de mettre ' devant ActiveSheet.PrintPreview
    à plus

Discussions similaires

  1. Réponses: 1
    Dernier message: 06/06/2015, 11h14
  2. Réponses: 2
    Dernier message: 07/04/2013, 23h56
  3. Réponses: 2
    Dernier message: 18/11/2012, 11h25
  4. Masquer une colonne dans un tableau sous ffx
    Par Mengué georges dans le forum Général JavaScript
    Réponses: 13
    Dernier message: 15/02/2010, 08h57
  5. Affichage d'un tableau provenant d'une requete dans un tableau HTML
    Par w0lf dans le forum PHP & Base de données
    Réponses: 3
    Dernier message: 06/06/2006, 19h05

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