Microsoft 365 créer un bouton pour imprimer

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

eldid

XLDnaute Nouveau
Bonjour,

j ai une feuille bulletin qui récupère tous les points des différentes branches par enfant . Les enfants sont dans un menu déroulant j'aimerais créer un bouton pour imprimer tous les bulletins en un clic.

Merci
 
Dernière édition:
Solution
Dans le module de code de la feuille "Bulletin", placer le code ci-dessous puis cliquer sur le bouton
VB:
Private Sub CommandButton1_Click()
' On va définir les paramètres généraux d'impression de la feuille
    Application.PrintCommunication = False
    With Me.PageSetup
        .PrintArea = "$A:$L"
        .CenterHorizontally = True
        .CenterVertically = False
        .Orientation = xlPortrait
        .PaperSize = xlPaperA4
        .FitToPagesWide = 1
        .FitToPagesTall = 1
    End With
    Application.PrintCommunication = True
    
' On demande d'abord de choisir une imprimante
    With Application.Dialogs(xlDialogPrinterSetup)
        If .Show Then
            Application.ScreenUpdating = False
          ' on parcourt...
Bonsoir,

Si j'interprète bien la demande, il y a 1 bulletin(feuille) par enfant .
Vous voulez pouvoir imprimer tous ces bulletins via un bouton : sur un Userform ? une autre feuille ?

Avez-vous un exemple de classeur ?
Sinon comment sont nommés ces bulletins ?
 
Dans le module de code de la feuille "Bulletin", placer le code ci-dessous puis cliquer sur le bouton
VB:
Private Sub CommandButton1_Click()
' On va définir les paramètres généraux d'impression de la feuille
    Application.PrintCommunication = False
    With Me.PageSetup
        .PrintArea = "$A:$L"
        .CenterHorizontally = True
        .CenterVertically = False
        .Orientation = xlPortrait
        .PaperSize = xlPaperA4
        .FitToPagesWide = 1
        .FitToPagesTall = 1
    End With
    Application.PrintCommunication = True
    
' On demande d'abord de choisir une imprimante
    With Application.Dialogs(xlDialogPrinterSetup)
        If .Show Then
            Application.ScreenUpdating = False
          ' on parcourt chaque Elève (cellule) de la zone [listedesélèves]
            Dim Eleve As Range
            For Each Eleve In [listedesélèves]
                Select Case Eleve
                    Case "Elèves"                  ' On ignore (entête)
                    Case ""                        ' On ignore (cellule vide)
                    Case Else                      ' y'a un élève
                        Me.[N5].Value = Eleve.Text ' On charge la cellule de choix
                        Me.Calculate               ' les formules de la feuille sont recalculées
                        Me.PrintOut                ' on envoit vers l'imprimante choisie
                End Select
            Next
        End If
    End With
End Sub
 

Pièces jointes

Dernière édition:
Dans le module de code de la feuille "Bulletin", placer le code ci-dessous puis cliquer sur le bouton
VB:
Private Sub CommandButton1_Click()
' On va définir les paramètres généraux d'impression de la feuille
    Application.PrintCommunication = False
    With Me.PageSetup
        .PrintArea = "$A:$L"
        .CenterHorizontally = True
        .CenterVertically = False
        .Orientation = xlPortrait
        .PaperSize = xlPaperA4
        .FitToPagesWide = 1
        .FitToPagesTall = 1
    End With
    Application.PrintCommunication = True
   
' On demande d'abord de choisir une imprimante
    With Application.Dialogs(xlDialogPrinterSetup)
        If .Show Then
            Application.ScreenUpdating = False
          ' on parcourt chaque Elève (cellule) de la zone [listedesélèves]
            Dim Eleve As Range
            For Each Eleve In [listedesélèves]
                Select Case Eleve
                    Case "Elèves"                  ' On ignore (entête)
                    Case ""                        ' On ignore (cellule vide)
                    Case Else                      ' y'a un élève
                        Me.[N5].Value = Eleve.Text ' On charge la cellule de choix
                        Me.Calculate               ' les formules de la feuille sont recalculées
                        Me.PrintOut                ' on envoit vers l'imprimante choisie
                End Select
            Next
        End If
    End With
End Sub
Bonjour , super boulot, un tout grand merci ,c'est tout à fait ce que je voulais
 
- 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
3
Affichages
114
Réponses
10
Affichages
347
Réponses
16
Affichages
966
Retour