Microsoft 365 Imprimer des plages de cellules sous condition

comardud

XLDnaute Nouveau
Bonjour à tous,
j'ai une fois de plus besoin de vos conseils, je précise que j'ai fait une recherche mais n'ai rien trouvé de probant.

J'ai 4 plages de cellules différentes à imprimer (A4:R58, T4:AK58....etc), j'aimerais que si la cellule R13 contient la valeur 1 alors j'imprime la 1ere plage (A4:R58), si la cellule R13 contient la valeur 2 alors j'imprime les 2 plages (A4:R58 et T4:AK58), etc...

Voila mon début de code, je bute sur les conditions (If,Else,End if)

VB:
Sub ImprimTest()

    Sheets("PRINT").Select
    Range("A4:K58").Select
    If Application.Dialogs(xlDialogPrinterSetup).Show = False Then
    Sheets("TABLEAU DE BORD").Select
    Exit Sub
   
        If Range("R13") = "1" Then
        Range("A4:R58").Select
    ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True

        If Range("R13") = "2" Then
        Range("A4:R58,T4:AK58").Select
    ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True

        If Range("R13") = "3" Then
    Range("A4:R58,T4:AK58,AM4:BD58").Select
    ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True
   
        If Range("R13") = "4" Then
    Range("A4:R58,T4:AK58,AM4:BD58,BF4:BW58").Select
    ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True
   
    Sheets("TABLEAU DE BORD").Select
    'Range("B3").Select
ActiveSheet.DisplayAutomaticPageBreaks = False

End Sub


Merci de votre aide ;-)
 
Solution
Salut, à la louche
VB:
Option Explicit

Sub ImprimTest()
    Sheets("PRINT").Select
    Range("A4:K58").Select
    If Application.Dialogs(xlDialogPrinterSetup).Show = False Then
        Sheets("TABLEAU DE BORD").Select
        Exit Sub
    End If

    Select Case Range("R13")
    Case Is = 1
        Range("A4:R58").Select
        ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True
    Case Is = 2
        Range("A4:R58,T4:AK58").Select
        ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True
    Case Is = 3
        Range("A4:R58,T4:AK58,AM4:BD58").Select
        ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True
    Case Is = 4
        Range("A4:R58,T4:AK58,AM4:BD58,BF4:BW58").Select...

kiki29

XLDnaute Barbatruc
Salut, à la louche
VB:
Option Explicit

Sub ImprimTest()
    Sheets("PRINT").Select
    Range("A4:K58").Select
    If Application.Dialogs(xlDialogPrinterSetup).Show = False Then
        Sheets("TABLEAU DE BORD").Select
        Exit Sub
    End If

    Select Case Range("R13")
    Case Is = 1
        Range("A4:R58").Select
        ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True
    Case Is = 2
        Range("A4:R58,T4:AK58").Select
        ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True
    Case Is = 3
        Range("A4:R58,T4:AK58,AM4:BD58").Select
        ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True
    Case Is = 4
        Range("A4:R58,T4:AK58,AM4:BD58,BF4:BW58").Select
        ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True
    End Select
.....
End Sub
 

Discussions similaires

Statistiques des forums

Discussions
312 203
Messages
2 086 196
Membres
103 153
dernier inscrit
SamirN