Macro impression

Bonjour,

Je cherche à créer une macro d'impression depuis une liste déroulante pour m'éviter de sélectionner les 200 choix de la liste déroulante et faire impression à chaque fois.

Malheureusement je ne connais pas grand chose en VBA.

Je mets le fichier en pièce jointe. La liste se trouve en D4.

Je vous remercie par avance pour votre précieuse aide.

bonjour,

une proposition

Sub aargh()

    Set wsd = Sheets("données")
    dl = wsd.Cells(Rows.Count, 1).End(xlUp).Row
    With Sheets("bridge par SKU ")
        .Select
        For i = 3 To dl
            .Range("D5") = wsd.Cells(i, 1)
            ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True, _
            IgnorePrintAreas:=False
        Next i
    End With
End Sub

Super!!! Merci beaucoup.

Juste une derniere question. Comment faire pour que cela imprime en couleur?

Merci d'avance

Bonjour,

Comment faire pour que cela imprime en couleur?

regarde les paramètres de ton imprimante.

c'est parfait. J'ai réussit merci à vous!!!!

J'ai de nouveaux une question.

Est-il possible de rajouter dans le code pour faire au lieu d'une impression, une extraction en PDF groupé. Cel permettrait enfaite d'avoir toutes les pages dans le meme PDF.

J'espere avoir ete clair

Merci beaucoupppp

Victor

Bonjour,

c'est certainement possible, il faut générer toutes les feuilles puis les imprimer au lieu de les imprimer une à une. Cela ne m'intéresse pas de faire cette adaptation.

Bonjour Victor et le forum,

voici ma proposition. J'ai modifié la source de données du graphique qui est maintenant dans la même feuille Bridge par SKU, en dehors de la zone d'impression. A' adapter le chemin et le nom du fichier pdf enregistré, ci-dessous le code:

Sub test()

    Dim DropDownCell As Range
    Dim inputRange As Range
    Dim c As Range
    Dim i As Long
    Dim x As Integer

    Set DropDownCell = Worksheets("Bridge par SKU").Range("D5")

    Set inputRange = Evaluate(DropDownCell.Validation.Formula1)

    i = 0

    Application.ScreenUpdating = True

    'Copie chaque feuille après le dernier
    For Each c In inputRange

        DropDownCell = c.Value

        Worksheets("Bridge par SKU").Copy After:=Sheets(Sheets.Count)

        ActiveSheet.Name = Range("D5")

        i = i + 1

    Next c

    'Selectionner tous les onglets à partir du quatrième
    ThisWorkbook.Worksheets(4).Select
    For x = 4 To ThisWorkbook.Worksheets.Count
        Worksheets(x).Select (False)
    Next x    

    ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
                                    ThisWorkbook.Path & "\" & "Revalorisation de la SKU.PDF", Quality:=xlQualityStandard, _
                                    IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:= _
                                    False

    Application.DisplayAlerts = False

    'Supprime les onglets sélectionnés
    ThisWorkbook.Windows(1).SelectedSheets.Delete
    Application.DisplayAlerts = True

    Application.ScreenUpdating = True

End Sub

Cordialement

Rechercher des sujets similaires à "macro impression"