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 :

code pour impression [XL-2007]


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 code pour impression
    Bonsoir le forum,

    j'ai ce code qui m'imprime un tableau de B1 à F104 mais j'ai des données que jusqu'a F20 et cela peut varier, donc ma question est que faut il ajouter pour n'imprimer que jusqu'au lignes remplis
    merci
    jacky
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    Sub Essai()
     
        Range("B1:F104").Select
        ActiveWorkbook.Worksheets("SNF").Sort.SortFields.Clear
        ActiveSheet.PageSetup.PrintArea = "$B$1:$F$104"
        ActiveWindow.SelectedSheets.PrintOut Copies:=3, Collate:=True, _
            IgnorePrintAreas:=False
        Range("B11").Select
    End Sub

  2. #2
    Expert confirmé Avatar de jfontaine
    Homme Profil pro
    Contrôleur de Gestion
    Inscrit en
    Juin 2006
    Messages
    4 756
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Contrôleur de Gestion

    Informations forums :
    Inscription : Juin 2006
    Messages : 4 756
    Par défaut
    Bonjour,

    Essais comme cela (Remplaces Feuil1 par le bon nom de la feuille ou utilise Me)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    Sub Essai()
     
        Range("B1:F104").Select
        ActiveWorkbook.Worksheets("SNF").Sort.SortFields.Clear
        ActiveSheet.PageSetup.PrintArea = Sheets("Feuil1").UsedRange.Address
        ActiveWindow.SelectedSheets.PrintOut Copies:=3, Collate:=True, _
            IgnorePrintAreas:=False
        Range("B11").Select
    End Sub

  3. #3
    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,jFontaine,

    j'ai essayé le code et le problème, c'est que j'ai d'autres tableau à coté qui vont de G1 à M104 etc... ( 8 tableau de même format mais pas tous rempli de la même façon, il y en a qui s'arretent à la ligne 20 et d'autres à la 40 et plus )donc quand j'utilise ton code, il me met tous les tableau les uns à coté des autres et ce que je voudrais c'est que l'impression n'imprime que les lignes rempli et cela pour chaque code de chaque tableau
    merci
    jacky

  4. #4
    Expert confirmé Avatar de jfontaine
    Homme Profil pro
    Contrôleur de Gestion
    Inscrit en
    Juin 2006
    Messages
    4 756
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Contrôleur de Gestion

    Informations forums :
    Inscription : Juin 2006
    Messages : 4 756
    Par défaut
    ok, dans ce cas, utilises CurrentRegion

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    Sub Essai()
     
        Range("B1:F104").Select
        ActiveWorkbook.Worksheets("SNF").Sort.SortFields.Clear
        ActiveSheet.PageSetup.PrintArea = Sheets("Feuil1").Range("B1").CurrentRegion.Address
        ActiveWindow.SelectedSheets.PrintOut Copies:=3, Collate:=True, _
            IgnorePrintAreas:=False
        Range("B11").Select
    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,
    non cela m'imprime toujours 3 page au lieu d'une
    merci
    jacky

  6. #6
    Expert confirmé Avatar de jfontaine
    Homme Profil pro
    Contrôleur de Gestion
    Inscrit en
    Juin 2006
    Messages
    4 756
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Contrôleur de Gestion

    Informations forums :
    Inscription : Juin 2006
    Messages : 4 756
    Par défaut
    Peut etre en faisant plus simple

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Range("B1").CurrentRegion.PrintOut Copies:=1, Collate:=True

  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
    Bonjour ESVBA,

    Les Colonnes B et F sont rempli identiquement en même temps, j'ai essayer d'ajouter une colonne G dans le code et du coup cela m'imprime bien une page mais de la colonne B1 à G104 donc cela ne va pas
    merci
    jacky

  8. #8
    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 gFZT82,

    Merci beaucoup, cela fonctionne
    super
    jacky

    Re le Forum,

    Le code donnée par gFZT82 fonctionne à merveille mais j'ai un autre problème sur un tableau à coté à qui je ne peux pas attribué le même code car mon tableau est de CM1 à CW104 mais le problème est que j'ai des formules dans toutes les colonnes sauf la colonnes CP mais le quand j'utilise le même code, du coup, je n'ai le tableau que de CM1 à CP 20 ce qui est logique mais comment faire pour garder le tableau de CM1 à CW104 en ayant la dernière ligne vide dans la colonne CP
    merci
    PS: j'ai enlevé résolu pour reprendre ce fil plutot que d'en ouvrir un autre, j'espère que j'ai bien fait
    merci
    jacky

  9. #9
    Membre Expert
    Homme Profil pro
    Retraité
    Inscrit en
    Avril 2011
    Messages
    1 858
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Avril 2011
    Messages : 1 858
    Par défaut
    Re,

    C’est la même logique.
    Tu détermines la dernière ligne renseignée avec
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Derlig = Ws.Range("CP" & Ws.Rows.Count).End(xlUp).Row
    Et tu sélectionnes ta plage avec
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Set MaPlage = Ws.Range("CM1:CW" & Derlig)
    Cordialement.

  10. #10
    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 gFZT82,

    merci, je venais de comprendre quand j'ai vu ta réponse et je te remercie beaucoup, j'ai une dernière question , que faut il ajouter pour imprimer 3 fois la même feuille,:
    est ce
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Ws.PrintOut Copies:=, Collate:=True
    merci
    jacky

  11. #11
    Membre Expert
    Homme Profil pro
    Inscrit en
    Décembre 2011
    Messages
    1 186
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Décembre 2011
    Messages : 1 186
    Par défaut
    Re.

    En effet :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Ws.PrintOut Copies:=<nombre de fois qu il faut imprimer la feuille>, Collate:=True

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

Discussions similaires

  1. code pour impression
    Par jacfld49 dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 28/03/2010, 20h13
  2. Code pour impression
    Par elric dans le forum VBA Access
    Réponses: 1
    Dernier message: 06/11/2009, 16h49
  3. [PC-MS] Code pour modifier la police d'impression
    Par sharcky dans le forum Cobol
    Réponses: 11
    Dernier message: 30/08/2007, 10h35
  4. [VB.NET] code pour afficher apercu avant impression
    Par DonJR dans le forum Windows Forms
    Réponses: 1
    Dernier message: 14/07/2006, 20h54
  5. Solution pour impression de codes à barres
    Par KRis dans le forum Composants VCL
    Réponses: 2
    Dernier message: 31/03/2006, 16h58

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