Lisview: Impression avec sélections multiples

Byfranck

XLDnaute Occasionnel
Bonjour à tous,

Ma base de donnée avance bien grâce à vous tous et c'est vraiment génial!

ma difficulté de cette fin d'après midi est de pouvoir imprimer les lignes sélectionnées dans un Lisview.
Ma listview tient la route (enfin!) j'extrait les colonnes qui m'intéressent.
une colonne cachée comporte la numération..
je peux sélectionner plusieurs lignes (elles se mettent en surbrillance bleu).

ce que je voudrais maintenant c'est imprimer uniquement les données des lignes qui seront sélectionnées.
J'ai fait le tour des posts sur le Forum .. j'ai pas trouvé mon bonheur , si j'ai bien compris il faut transférer les lignes vers une page qui servira pour l'impression, j'ai essayé un tas de code ... pas moyen le dernier trouvé à l'air sympa, mais plante sur la ligne:
Code:
            .Cells(Ligne, Colonne + 1) = ListView1.ListItems(Ligne).ListSubItems

Je ne comprends pas ce qui ce passe quelq'un pourrait m'éclairer?
autre chose: est-il possible de lancer "automatiquement" l'impression sans que l'utilisateur aille dans la feuille crée? (les pages du classeur seront cachées) risque de mauvaise définition de zone d'impression ou de passer une ramette entière de papier?

Code:
Private Sub CommandButton3_Click()

Dim Ligne As Integer, Colonne As Integer
Application.ScreenUpdating = False
ActiveWorkbook.Sheets.Add
With ActiveSheet
    For Ligne = 1 To ListView1.ListItems.Count
        .Cells(Ligne, 1) = ListView1.ListItems(Ligne).Text
        For Colonne = 1 To ListView1.ColumnHeaders.Count - 1
            .Cells(Ligne, Colonne + 1) = ListView1.ListItems(Ligne).ListSubItems(Colonne).Text
        Next Colonne
    Next Ligne
    .PrintOut
    Application.DisplayAlerts = False
    .Delete
    Application.DisplayAlerts = True
End With
Application.ScreenUpdating = True

End Sub


J'espère que ma demande va vous inspirer!

Cordialement @+
 

kjin

XLDnaute Barbatruc
Re : Lisview: Impression avec sélections multiples

Bonsoir,
Code:
Private Sub CommandButton3_Click()
Dim i As Integer, j As Integer
Application.ScreenUpdating = False
ActiveWorkbook.Sheets.Add
k = 1
With ActiveSheet
    For i = 1 To ListView1.ListItems.Count
        If ListView1.ListItems(i).Selected = True Then
            .Cells(k, 1) = ListView1.ListItems(i).Text
            For j = 1 To ListView1.ColumnHeaders.Count - 1
                .Cells(k, j + 1) = ListView1.ListItems(i).ListSubItems(j).Text
            Next j
        k = k + 1
        End If
    Next i
    .PrintOut
    Application.DisplayAlerts = False
    .Delete
    Application.DisplayAlerts = True
End With
Application.ScreenUpdating = True

End Sub
A+
kjin
 

Pièces jointes

  • ByFranck _V1.zip
    14.4 KB · Affichages: 46

Byfranck

XLDnaute Occasionnel
Re : Lisview: Impression avec sélections multiples

Bonsoir Kjin,

C'est tout simplement super !
(je vais attendre d'avoir accès à une imprimante pour crier vistoire..)
pour voir le résultat (notament la mise en page) j'ai fait une recherche sur "PrintPreview".. tu penses que ce serait possible d'ajouter cette fonction?j'ai essayé de replacer le ".PrintOut" de ton code par ".PrintPreview" ... n'essaye pas:(:eek::eek::( Excel panté et pas de deboggeurs!

je te joint un fichier que j'ai trouvé si tu as encore un peu de patience et de temps pour moi ...

Cordialement @+
 

Pièces jointes

  • Facture_listViewV4 .zip
    28.2 KB · Affichages: 41

kjin

XLDnaute Barbatruc
Re : Lisview: Impression avec sélections multiples

Bonsoir,
J'ai un peu remanié le code
Test de la sélection avant le transfert, et désélection des lignes ensuite
J'ai ajouté le PrintPeview que tu pourras remplacé par PrintOut, si tant est que la config de l'impression ne soit pas utile.
A+
kjin
 

Pièces jointes

  • ByFranck _V2.zip
    20.9 KB · Affichages: 56

Byfranck

XLDnaute Occasionnel
Re : Lisview: Impression avec sélections multiples

Bonjour Kjin,

J'ai vu que tu avais travaillé tard hier soir .. désolé du boulot que je te donnes !! :eek:

Moi j'ai attaqué assez tôt pour placer ces codes dans ma base de données,
j'ai testé le ByFranck V2 c'est exactement ce dont j'ai besoin, je l'ai adapté à la config réelle de ma base de données et ça plante. ça fait des heure que je cherche pourquoi .. je ne trouve pas! :confused:

Quand je colle mes info dans le ByFranck V2 et que je change la lecture jusqu'en colonne 58 ça roule, mais aussitôt que je place ces code dans ma base réelle je reste bloqué en "exécution" sur mon USF1 et je suis obligé de passer par le gestionaire de tâche Windows pour arrêter l'aplication et reprendre la main :eek:

J'ai recréé dans un nouveau fichier ma situation avec les code qui sont dans l'USF1 de ma base et patatra ça plante!

Je vais encore avoir besoin d'aide pour dépatouiller ce qui coince dans mon USF1 puisque semble-t-il c'est là que ça se passe !!

Cordialement @+
Franck
 

Pièces jointes

  • ByFranck _V3.zip
    27 KB · Affichages: 37
  • ByFranck _V3.zip
    27 KB · Affichages: 40
  • ByFranck _V3.zip
    27 KB · Affichages: 45

kjin

XLDnaute Barbatruc
Re : Lisview: Impression avec sélections multiples

Bonjour,
La curiosité est un vilain défaut, mais pour le coup, si tu étais allé voir le formulaire1 de la V2 tu aurais vu la modif qui j'y avais faite
Donc dans ton UserForm1
Code:
Private Sub CommandButton14_Click()
'C'est ici que ça se passe
'===============
Me.Hide
UserForm7.Show
Me.Show
'===============
End Sub
En principe plus de bug
Comme je te l'ai dit, il faudra sans doute paramétrer l'impression

Edit: Avec le fichier c'est mieux
A+
kjin
 

Pièces jointes

  • ByFranck _V3.zip
    22.1 KB · Affichages: 87
  • ByFranck _V3.zip
    22.1 KB · Affichages: 77
  • ByFranck _V3.zip
    22.1 KB · Affichages: 75
Dernière édition:

Byfranck

XLDnaute Occasionnel
Re : Lisview: Impression avec sélections multiples

Là du coup ça fonctionne bien mieux !!!
Comment ai je pu passr à côté de ça !

En tout cas merci BEAUCOUP.
Maintenant je vais continuer .. je vais essayer de trouver comment améliorer la mise en page.


@+
 

Byfranck

XLDnaute Occasionnel
Re : Lisview: Impression avec sélections multiples

Bonjour Kjin,

Ton aide m'a vraiment dépanné!
J'ai seulement une petite questiuon d'ordre "esthétique"
Dans la dernère version (V3) quand on lance "Test Imprime" au second plan on bascule sur la page de données ... y aurait-il un moyen pour que la page arrière ne change pas (dans mon fichier j'ai une page d'accueil qui est un USF avec photo en plein écran et j'aimerais qu'on reste sur cette photo pour qu'on ne puisse pas voir la base de données.

Merci d'avance si tu as une idée

Franck
 

Discussions similaires

Statistiques des forums

Discussions
312 347
Messages
2 087 502
Membres
103 563
dernier inscrit
samyezzehar