VBA pour imprimer une sheet

Fermé
ross57100 Messages postés 16 Date d'inscription vendredi 11 juillet 2008 Statut Membre Dernière intervention 8 septembre 2015 - 29 mai 2015 à 12:42
ross57100 Messages postés 16 Date d'inscription vendredi 11 juillet 2008 Statut Membre Dernière intervention 8 septembre 2015 - 29 mai 2015 à 14:37
Bonjour
Je débute en VBA et j'aurai besoin de vos connaissances.
je souhaiterai qu'en fonction d'une cellule complétée sue la feuille 1, la feuille 2 ou 3 ou 4 ou 5 s'imprime.
Je m'explique
Cellule A1 = "Tempo" => la feuille tempo s'imprime
Cellule A1 = "Perm" => la feuille perm s'imprime
Cellule A1 = "Grille" => la feuille grille s'imprime
Cellule A1 = "Grille + Tempo" => les feuilles Grille et Tempo s'impriment
Est-ce possible?
Merci

1 réponse

f894009 Messages postés 17206 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 22 novembre 2024 1 710
29 mai 2015 à 14:20
Bonjour,

adaptez le nom de la feuille:

nom separes par +

Sub Impression()
    Dim TSheets
    
    With Worksheets("feuil1")
        'recherche d'au moins un +
        If InStr(1, .Range("A1"), "+") Then
            'mise en tableau des onglet a imprimer
            TSheets = Split(Worksheets("feuil1").Range("A1"), "+")
            'boucle pour impression
            For x = 0 To UBound(TSheets)
                'Trim pour enlever les espaces devant ou/et derriere le nom d'onglet
                Worksheets(Trim(TSheets(x))).PrintOut Copies:=1
            Next x
        ElseIf .Range("A1") <> "" Then      ' un seul onglet
            Sheets(Trim(.Range("A1"))).PrintOut Copies:=1
        End If
    End With
End Sub
0
ross57100 Messages postés 16 Date d'inscription vendredi 11 juillet 2008 Statut Membre Dernière intervention 8 septembre 2015
29 mai 2015 à 14:37
Merci
0