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 :

Listview vide à l'impression. [XL-2007]


Sujet :

Macros et VBA Excel

  1. #1
    Membre averti
    Inscrit en
    Mars 2008
    Messages
    29
    Détails du profil
    Informations forums :
    Inscription : Mars 2008
    Messages : 29
    Par défaut Listview vide à l'impression.
    Bonjour

    j'ai créé un bouton "imprimer" dans le form.

    je voudrais imprimer le formulaire sur click du bouton.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Private Sub BoutonPrint_Click()
     
    Userform1.PrintForm
     
    End Sub
    ca marche presque bien... j'ai un listview dans le formulaire dans lequel je charge des données... à l'impression mon listview est vide!!! pourtant à l'ecran j'ai des valeurs...

    je ne sais pas quoi faire et j'ai vraiment besoin d'un bouton impression pour ce formulaire...


    merci d'avance pour vos lumieres.

  2. #2
    Rédacteur
    Avatar de Philippe Tulliez
    Homme Profil pro
    Formateur, développeur et consultant Excel, Access, Word et VBA
    Inscrit en
    Janvier 2010
    Messages
    13 176
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur, développeur et consultant Excel, Access, Word et VBA

    Informations forums :
    Inscription : Janvier 2010
    Messages : 13 176
    Billets dans le blog
    53
    Par défaut
    Bonjour,
    Je viens de faire un test avec un listview et j'ai le même problème que toi. Un autre test sur un USERFORM utilisant d'autres contrôles ne m'a pas posé de problème.
    J'avoue n'avoir aucune expérience particulière sur la méthode PrintForm ne l'ayant jamais utilisé auparavant.
    Pour ma part j'utilise un outil de capture d'écran.
    Je t'invite à lire le document suivant http://silkyroad.developpez.com/VBA/UserForm/ où tu trouveras la remarque suivante
    III-E. Imprimer un UserForm
    Remarque préalable:
    Ce chapitre présente quelques solutions d'impression, mais un UserForm n'est pas bien adapté pour les éditions (consommation d'encre importante, long temps d'impression, rendu sur le papier ne correspondant pas toujours à ce qui est vu à l'écran...)
    Plus généralement, il faut toujours avoir une réflexion sur l'utilisation du papier pour ne pas le gaspiller.
    Bonne journée
    Philippe Tulliez
    Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément. (Nicolas Boileau)
    Lorsque vous avez la réponse à votre question, n'oubliez pas de cliquer sur et si celle-ci est pertinente pensez à voter
    Mes tutoriels : Utilisation de l'assistant « Insertion de fonction », Les filtres avancés ou élaborés dans Excel
    Mon dernier billet : Utilisation de la fonction Dir en VBA pour vérifier l'existence d'un fichier

  3. #3
    Membre averti
    Inscrit en
    Mars 2008
    Messages
    29
    Détails du profil
    Informations forums :
    Inscription : Mars 2008
    Messages : 29
    Par défaut
    merci corona pour ton aide,

    je voudrais contourner le probleme...

    quel est le meilleur control pour gerer un tableau de données dans un userform? le listview n'est peut etre pas approprié pour mon besoin.

    merci

  4. #4
    Rédacteur
    Avatar de Philippe Tulliez
    Homme Profil pro
    Formateur, développeur et consultant Excel, Access, Word et VBA
    Inscrit en
    Janvier 2010
    Messages
    13 176
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur, développeur et consultant Excel, Access, Word et VBA

    Informations forums :
    Inscription : Janvier 2010
    Messages : 13 176
    Billets dans le blog
    53
    Par défaut
    Bonjour,
    Que veux-tu faire exactement ?
    Philippe Tulliez
    Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément. (Nicolas Boileau)
    Lorsque vous avez la réponse à votre question, n'oubliez pas de cliquer sur et si celle-ci est pertinente pensez à voter
    Mes tutoriels : Utilisation de l'assistant « Insertion de fonction », Les filtres avancés ou élaborés dans Excel
    Mon dernier billet : Utilisation de la fonction Dir en VBA pour vérifier l'existence d'un fichier

  5. #5
    Expert confirmé
    Avatar de Didier Gonard
    Homme Profil pro
    Formateur Office et développeur VBA en freelance
    Inscrit en
    Février 2008
    Messages
    2 805
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Formateur Office et développeur VBA en freelance

    Informations forums :
    Inscription : Février 2008
    Messages : 2 805
    Par défaut
    Bonjour,

    voici une solution qui est OK à adapter.

    J'ai rajouté un bouton sur le classeur de Démo du tuto de Silkyroad suivant :

    Utiliser le contrôle ListView en VBA Excel

    cf § 3 téléchargement

    Le code du bouton (les PJ n'étant pas forcément pérenne):

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    Option Explicit
     
    '*****************************
    'nécéssite activer la reference Microsoft Visual Basic for applications extensibilty 5.3
    '*****************************
     
    Private Declare Sub keybd_event Lib "user32" ( _
            ByVal bVk As Byte, ByVal bScan As Byte, ByVal dwFlags As Long, _
            ByVal dwExtraInfo As Long)
    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
    Private Sub CommandButton2_Click()
    Dim Ws As Worksheet
    Dim Newhour As Variant
    Dim NewMinute As Variant
    Dim NewSecond As Variant
    Dim waitTime As Variant
     
        'Copie d'écran de la forme active
        keybd_event vbKeySnapshot, 1, 0&, 0&
        DoEvents
     
        'Ajoute une feuille pour coller l'image de la forme
        Set Ws = Sheets.Add
         Newhour = Hour(Now())
         NewMinute = Minute(Now())
         NewSecond = Second(Now()) + 2
         waitTime = TimeSerial(Newhour, NewMinute, NewSecond)
          Application.Wait waitTime
        Ws.Paste
        Application.CutCopyMode = False
        'impression centrée dans la page
        With Ws
            .PageSetup.CenterHorizontally = True
            .PageSetup.CenterVertically = True
            .PrintOut
        End With
    End Sub
    inspiré de ceci : Imprimer toutes les pages d'un USF Multipages

    Attention : Si vous employez des utilitaires de copie d’écran, ceux-ci peuvent interférer avec le système Windows et entraîneront un plantage => les désactiver si c’est le cas…
    le fichier joint est en .xls, mais fait sous 2007.

    cordialement,

    Didier
    Fichiers attachés Fichiers attachés

  6. #6
    Membre averti
    Inscrit en
    Mars 2008
    Messages
    29
    Détails du profil
    Informations forums :
    Inscription : Mars 2008
    Messages : 29
    Par défaut
    Merci,

    vous etes trop fort

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

Discussions similaires

  1. [XL-2010] Masquage de lignes vides avant impression
    Par benadry dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 01/10/2013, 12h07
  2. Moitié de page vide à l'impression
    Par FixSan dans le forum Mise en page CSS
    Réponses: 27
    Dernier message: 04/06/2012, 19h43
  3. [AC-2007] Ouverture MsgBox si requete sur listview vide
    Par KIK83 dans le forum IHM
    Réponses: 2
    Dernier message: 25/10/2009, 21h59
  4. Impression ListView C#
    Par Sharpy dans le forum Windows Forms
    Réponses: 3
    Dernier message: 23/08/2007, 13h56
  5. Listview vide si enabled=False
    Par isa_zz dans le forum Access
    Réponses: 6
    Dernier message: 31/08/2006, 18h32

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