Impression "complexe" sur EXCEL

Résolu
Bonjour,
Voici mon problème: je possède un fichier Excel avec plusieurs feuilles, les 5 premières feuilles servent à remplir les suivantes donc je ne veux pas les sélectionner lors de l'impression. De plus, le nombre des feuilles à imprimer est variable! (En fait, c'est une liste et grâce à des macro je supprime ou non les feuilles, et à la fin j'imprime les feuilles qui restent.)
Sachant que je veux commander l'impression par un simple bouton, comment doit-je procéder?

Merci !

3 réponses

  1. Contributeur
    Salut le forum

    Tu peux t'inspirer de ceci, en ajoutant des conditions pour l'ajout des feuilles. (Méthode Add)

    Sub Imprimer()
    Dim Tablo As New Collection
    Dim I As Byte
    
    Tablo.Add "Feuil1"
    Tablo.Add "Feuil2"
    
    For I = 1 To Tablo.Count
        Sheets(Tablo(I)).PrintOut , , 1
    Next I
    
    End Sub
    

    Mytå
    0
    1. Bonjour,
      En sélectionnant à la main toutes les feuilles que tu veux imprimer (utiliser la touche CTRL ou Maj selon le cas), tu peux lancer directement l'impression en une seule manipulation (la case feuilles sélectionnées étant activée dans la fenêtre d'impression.
      A+
      pépé
      -1
      1. Contributeur
        Salut le forum

        J'ai bien lu :
        Sachant que je veux commander l'impression par un simple bouton, comment doit-je procéder?

        Mytå
        0
      2. Bonjour,

        Bonne remarque Myta, merci pour ta réponse pépé35530 mais effectivement je veux que l'impression soit commander par un bouton car ce sera un fichier utilisé par des personnes ne connaissant pas du tout Excel et je veux aller au plus simple.

        Merci.
        0
    2. bonsoir,
      avec macros, utiliser PrintOut
      bonne suite
      -1
      1. Contributeur
        Salut le forum

        Très succinct comme solution :)

        Mytå
        0
      2. re
        dans ma mesure où toutes les feuilles doivent etre imprimées ceci devrait suffire , après avoir mis un bouton (controle activeX)
        Private Sub CommandButton1_Click()  
        Dim nf As Long  
        For nf = 1 To Sheets.Count  
          Sheets(nf).PrintOut  
        Next nf  
        End Sub

        bonne soirée
        0
      3. Merci d'avoir essayé mais justement je ne veux pas imprimer toute les feuilles!
        0
      4. Contributeur
        Bonjour,
        excusez l'incruste
        dans la acro de ccm81
        tu remplaces
        For nf = 1 To Sheets.Count
        par
        For nf = 6 To Sheets.Count
        puisque tu ne veux pas imprimer les 5 premières
        0
      5. Merci pour ton incruste, ça marche! C'était simple en final mais encore fallait-il le trouver, merci à vous.
        0