Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

RESOLU - Feuille de visite - Merci phlaurent55

castor30

XLDnaute Occasionnel
Bonjour
Je trouve le temps d'exécution de ce code un peu long (15 secondes)
Peut-il être améliorer
En vous remerciant
VB:
Sub Impression()
Application.Calculation = xlCalculationManual
Application.ScreenUpdating = False
Range("G2").Select

    For I = 2 To Range("A300").End(xlUp).Row
            If UCase(Cells(I, 5)) <> "X" Then
                 Rows(I).Hidden = True
            Else
                 I = I + 1
             End If
    Next I
  
'    ActiveWindow.SelectedSheets.PrintOut Copies:=1
    ActiveWindow.SelectedSheets.PrintPreview
    Columns("A:E").Select
    Selection.AutoFilter
    Selection.AutoFilter Field:=5
    Selection.AutoFilter
    SupSelect
    Range("A2").Select
CreateObject("Wscript.shell").Popup "Impression envoyée à l'imprimante." & Chr(10) & Chr(10) & "Veuillez patienter Svp." & Chr(10) & Chr(10), 1, "Association", vbExclamation
Application.ScreenUpdating = True
Application.Calculation = xlCalculationAutomatic
End Sub

Sub SupSelect()
    Range("E2:E300").ClearContents
End Sub
 

Lone-wolf

XLDnaute Barbatruc
Re

Il faut changer dans le tri .Range("a2") par .Range("e2"), si c'est la colonne E que tu veux trier. Mais sans fichier joint, impossible de voir le résultat.
 
Dernière édition:

phlaurent55

Nous a quittés en 2020
Repose en paix
Bonjour à tous,

re,
Presque ça, ça devient rapide il faut que ça trie la ligne ou X est présent avec la ligne immédiatement en dessous, soit 2 lignes par 2 lignes.
Pour un premier code, j'en bave.

@castor,

je t'ai déjà apporté des réponses sur ce fil de discussion
https://www.excel-downloads.com/thr...auche-dans-cellule-e1.20017797/#post-20130029

tu as reçu le code pour filtrer et ça fonctionnait selon tes souhaits
concernant l'impression, je ne vois pas pourquoi ce serait lent mais je constate beaucoup de lignes inutiles dans le code que tu présente au post#1

remet ton fichier réel (sans données confidentielles) et reprécise tes attentes sinon on ne va pas en finir

à+
Philippe
 
Dernière édition:

castor30

XLDnaute Occasionnel
Bonjour à tous,
Je vous met le fichier comme demandé par phlaurent55 que je remercie
Attention : N'activez pas les macros car je n'arrive plus à fermer Excel
 

Pièces jointes

  • Anonymise.xls
    97.5 KB · Affichages: 63

phlaurent55

Nous a quittés en 2020
Repose en paix
Re bonjour à tous

Dans le module imprimer, tu peux TOUT supprimer et mettre uniquement ce code qui effectue le filtrage ET l'impression
à toi d'adapter le nombre de copies à ta convenance

Code:
Sub Impression()   'Filtre la sélection des X et imprime et retour initial
Application.Calculation = xlCalculationManual
Application.ScreenUpdating = False


    For I = 2 To Range("A300").End(xlUp).Row
            If UCase(Cells(I, 5)) <> "X" Then
                 Rows(I).Hidden = True
            Else
                 I = I + 1
             End If
    Next I
   
ActiveSheet.PrintOut Copies:=1
Cells.EntireRow.Hidden = False
Application.ScreenUpdating = True
Application.Calculation = xlCalculationAutomatic
End Sub

à+
Philippe
 

castor30

XLDnaute Occasionnel
Bonjour phlaurent55,
Un grand, grand, immense merci c'est exactement ce que je désirais.
BRAVO !
N'as-tu pas eu de problème avec le fichier que je ne parvenais plus à fermer...?
 

castor30

XLDnaute Occasionnel
Bonsoir phlaurent55
Je te dis un grand merci car sans toi et vgendron, je n'y serai pas parvenu.
Pour la suite, je verrai après le Bac.
 

Pièces jointes

  • Style livret Excel.xls
    105 KB · Affichages: 43

Discussions similaires

Réponses
8
Affichages
653
Réponses
7
Affichages
477
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…