Microsoft 365 Imprimer des plages de cellules sous condition

  • Initiateur de la discussion Initiateur de la discussion comardud
  • 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 !

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...
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
 
- 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
10
Affichages
547
  • Question Question
XL 2016 Imprimer
Réponses
1
Affichages
649
Retour