Imprimer certaines lignes selon un critere variable.

  • Initiateur de la discussion Initiateur de la discussion David R
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

David R

XLDnaute Nouveau
Bonjour à tous,

Je cherche à compléter une macro d'edition, me permettant d'imprimer un récap avec plus ou moins de détail.
Cette macro actuelle, calcule un fichier assez lourd, met en forme et imprime le resultat des calculs pour la variable selectionnée, passe automatiquement à la variable suivant, édite et imprime, etc, etc.

Ma question est la suivante :

Comment faire pour que DEUX de ces criteres et uniquement eux, la plage A9:AP9 soit présente dans l'impression?

Parametres :
- L'élément variable est dans la cellule W3. Il s'agit de texte : FAB

Voici la Macro actuelle :

Sub Detail1()
Dim Plage As Range
Set PlageSheet = Worksheets("Table de calcul")
Set Plage = PlageSheet.Range("A3:A25")
'Definir la plage de codes service dans la boucle
Dim Var1
For Each Cell In Plage
'Boucle pour effectuer l'impression sur tous les codes services definis dans la plage
Var1 = Cell.Value
ActiveSheet.Range("W3") = Var1
Application.Calculation = xlManual
'Passer en calcul manuel apres le changement de code sur W3
ActiveSheet.Range("$A$8:$AT$305").AutoFilter Field:=21, Criteria1:="1"
ActiveSheet.Range("$A$8:$AT$312").AutoFilter Field:=19, Criteria1:="O"
ActiveSheet.Range("$A$8:$AT$312").AutoFilter Field:=20
'Critères pour les 3 filtres
Range("V1:AL312").Select
ActiveSheet.PageSetup.PrintArea = "$V$1:$AL$312"
Application.PrintCommunication = False
With ActiveSheet.PageSetup
.PrintTitleRows = "$1:$8"
.PrintTitleColumns = ""
End With
Application.PrintCommunication = True
ActiveSheet.PageSetup.PrintArea = "$V$1:$AL$312"
'Definir la zone d'impression
Application.PrintCommunication = False
With ActiveSheet.PageSetup
.Orientation = xlLandscape
.BlackAndWhite = False
.FitToPagesWide = 1
.FitToPagesTall = 3
'options d'impression
End With
Application.PrintCommunication = True
ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True, _
IgnorePrintAreas:=False
'Impression
Application.Calculation = xlAutomatic
'repasser en calcul automatique pour la maj du reporting suivant
Next
End Sub

Merci beacoup de l'aide que vous pourrez m'apporter!

Cordialement,

David
 
Re : Imprimer certaines lignes selon un critere variable.

Un petit UP, et quelques précisions sur ma demande d'aide, ainsi qu'une correction :

- J'imprime un tableau (V1:AL312) avec des lignes de detail, des sous totaux et totaux, d'ou les filtres de selections 19 20 et 21.
- la cellule W3 est une liste déroulante, me permettant de choisir une variable (un service), utilisée par le tableau pour récupérer les données via sommeprod.
-Il y a plusieurs variables, pour 2 d'entre elles : "FAB" et "CONDI", je souhaite que l'impression fasse apparaitre la ligne 9 de la plage d'impression (V1:AL312); pour les autres variables, non.

Pensez vous que cela puisse etre résolu par l'ajout d'un 4eme filtre? et comment faire en sorte que celui ci ne sois pris en compte dans la selection de la plage, que pour les 2 variables choisies, a l exclusion des autres ?

Merci d'avance pour qui prendra le temps de m'aider la dessus!

Bonne journée.

David
 
Re : Imprimer certaines lignes selon un critere variable.

Je poste ici ma solution, qui finalement est bien plus simple sans modification de la macro :

Il suffisait pour les lignes en question de modifier les filtres (autofilter 19 à 21) pour que les lignes ne soien imprimées que lorsque la variable en W3 est celle choisie.

Si jamais quelqu'un a une amélioration a proposer du code de la macro tel que posté, ce sera le bienvenue!

Merci quand même!

Cdlt,
David
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
3
Affichages
1 K
Réponses
5
Affichages
936
Réponses
2
Affichages
2 K
Compte Supprimé 979
C
Retour