Vous utilisez un navigateur obsolète. Il se peut que ce site ou d'autres sites Web ne s'affichent pas correctement. Vous devez le mettre à jour ou utiliser un navigateur alternatif.
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 !
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.
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...
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 la feuille bulletin sous mon menu déroulant vert, j'ai un bouton et j'aimerais comme écris dessus qu'il imprime le bulletin de chaque élèves contenu dans le menu déroulant en un seul clic
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
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
- 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