Impression plage spécifique

Bonjour,

Dans mon classeur Excel, j'ai plusieurs feuilles (planning journalier)

Je recherche le moyen d'imprimer le planning (heures + tâches) de chaque ouvrier séparément et ce, chaque jour.

L'idéal serait d'avoir un petit texte en introduction (en passant par un User Form ?)

Des idées ?

Merci.

Belle journée.

J'ai trouvé une parade ...

Mais comment stipuler 2 plages différents pour l’impression ?

Sub Bouton1_Cliquer()

Range("A2:B20").PrintOut Copies:=1, Collate:=True

End Sub

J'aimerais rajouter la plage "H4;J8"

Merci.

J'ai trouvé

Sub Bouton1_Cliquer()
Range("A2:B20,H4:J8").PrintOut Copies:=1, Collate:=True

End Sub

Mais comment imprimer tout sur la même page et sans avoir un problème de marge ?

Merci.

bonjour,

Sub Bouton1_Cliquer()
    Dim rng1 As Range
    Dim rng2 As Range
    Dim combinedRange As Range

    ' Définir les plages de cellules
    Set rng1 = Range("A2:B20")
    Set rng2 = Range("H4:J8")

    ' Combiner les plages de cellules
    Set combinedRange = Union(rng1, rng2)

    ' Imprimer les plages combinées
    combinedRange.PrintOut Copies:=1, Collate:=True
End Sub

Merci mais la plage (H4:J8) s'imrpime sur une deuxième feuille.

Le problème est que les plages ne sont pas contigues.

autre approche

Sub Bouton1_Cliquer()
    Dim ws As Worksheet
    Dim tempWs As Worksheet
    Dim rng1 As Range
    Dim rng2 As Range

    ' Définir la feuille de travail
    Set ws = ThisWorkbook.Sheets("Nom de votre feuille") ' Remplacez par le nom de votre feuille

    ' Définir les plages de cellules
    Set rng1 = ws.Range("A2:B20")
    Set rng2 = ws.Range("H4:J8")

    ' Créer une nouvelle feuille temporaire
    Set tempWs = ThisWorkbook.Sheets.Add(After:=ThisWorkbook.Sheets(ThisWorkbook.Sheets.Count))
    tempWs.Name = "TempSheet"

    ' Copier les plages dans la feuille temporaire
    rng1.Copy Destination:=tempWs.Range("A1")
    rng2.Copy Destination:=tempWs.Range("D1") ' Copier à droite de la première plage

    ' Configurer les options de mise en page pour la feuille temporaire
    With tempWs.PageSetup
        .Orientation = xlLandscape
        .Zoom = False
        .FitToPagesWide = 1
        .FitToPagesTall = 1
        .PaperSize = xlPaperA4
        .LeftMargin = 0
        .RightMargin = 0
        .TopMargin = 0
        .BottomMargin = 0
        .CenterHorizontally = True
        .CenterVertically = True
    End With

    ' Afficher un aperçu avant impression pour vérifier les paramètres
    tempWs.PrintPreview

    ' Imprimer la feuille temporaire
    tempWs.PrintOut Copies:=1, Collate:=True

    ' Supprimer la feuille temporaire après impression
    Application.DisplayAlerts = False
    tempWs.Delete
    Application.DisplayAlerts = True
End Sub

merci.

Cela va être ardu de définir la feuille de travail car j'ai une macro qui copie les feuilles automatiquement (calendrier annuel, donc 365 feuilles...)

avoir si cela fonctionne

Sub Bouton1_Cliquer()
    Dim ws As Worksheet
    Dim tempWs As Worksheet
    Dim rng1 As Range
    Dim rng2 As Range
    Dim sheetName As String

    ' Demander à l'utilisateur de saisir le nom de la feuille
    sheetName = InputBox("Veuillez entrer le nom de la feuille à utiliser:", "Sélection de la feuille")

    ' Vérifier si la feuille existe
    On Error Resume Next
    Set ws = ThisWorkbook.Sheets(sheetName)
    On Error GoTo 0

    If ws Is Nothing Then
        MsgBox "La feuille spécifiée n'existe pas. Veuillez réessayer.", vbExclamation, "Feuille non trouvée"
        Exit Sub
    End If

    ' Définir les plages de cellules
    Set rng1 = ws.Range("A2:B20")
    Set rng2 = ws.Range("H4:J8")

    ' Créer une nouvelle feuille temporaire
    Set tempWs = ThisWorkbook.Sheets.Add(After:=ThisWorkbook.Sheets(ThisWorkbook.Sheets.Count))
    tempWs.Name = "TempSheet"

    ' Copier les plages dans la feuille temporaire
    rng1.Copy Destination:=tempWs.Range("A1")
    rng2.Copy Destination:=tempWs.Range("D1") ' Copier à droite de la première plage

    ' Configurer les options de mise en page pour la feuille temporaire
    With tempWs.PageSetup
        .Orientation = xlLandscape
        .Zoom = False
        .FitToPagesWide = 1
        .FitToPagesTall = 1
        .PaperSize = xlPaperA4
        .LeftMargin = 0
        .RightMargin = 0
        .TopMargin = 0
        .BottomMargin = 0
        .CenterHorizontally = True
        .CenterVertically = True
    End With

    ' Afficher un aperçu avant impression pour vérifier les paramètres
    tempWs.PrintPreview

    ' Imprimer la feuille temporaire
    tempWs.PrintOut Copies:=1, Collate:=True

    ' Supprimer la feuille temporaire après impression
    Application.DisplayAlerts = False
    tempWs.Delete
    Application.DisplayAlerts = True
End Sub

UN tout grand merci.

Super.

Rechercher des sujets similaires à "impression plage specifique"