Comment imprimer des feuilles spécifiques selon les valeurs contenues dans certaines cellules sous Excel ?
Avez-vous déjà essayé d’imprimer des feuilles spécifiques en fonction de la valeur d’une cellule ? Dans cet article, je vous présente plusieurs exemples concrets pour résoudre ce problème. Si cela vous intéresse, poursuivez votre lecture !
Imprimer une feuille en fonction d’une cellule avec VBA
Imprimer une feuille en fonction de la cellule adjacente avec VBA
Imprimer une feuille en fonction d’une cellule avec VBA
Supposons que vous disposiez de deux feuilles et que vous souhaitiez imprimer Feuil1, Feuil2 ou les deux, selon la valeur de la cellule A1 située dans Feuil1. Procédez comme suit :
Dans ce cas, saisissez 1 pour imprimer la première feuille, 2 pour la deuxième, ou 3 pour imprimer les deux.
1. Saisissez 1, 2 ou 3 selon vos besoins dans la cellule A1 de la première feuille, puis appuyez sur les touches Alt + F11 pour ouvrir la fenêtre Microsoft Visual Basic pour Applications.
2. Cliquez sur Insertion > Module, puis collez le code ci-dessous dans le script du Module. Voir la capture d’écran :
VBA : imprimer une feuille en fonction de la valeur d’une cellule
Sub PrintStuff()
'UpdayebyExtendoffice20180811
Dim xRgVal As Variant
Dim xSheets As Sheets
Set xSheets = ActiveWorkbook.Worksheets
xRgVal = xSheets(1).Range("A1").Value
If (IsNumeric(xRgVal)) And (Len(xRgVal) = 1) Then
Select Case xRgVal
Case 1
xSheets(1).PrintOut
Case 2
xSheets(2).PrintOut
Case 3
xSheets(1).PrintOut
xSheets(2).PrintOut
Case Else
MsgBox "Enter1, 2 or 3 into A1 (1 print Sheet1 2 print Sheet2 3 print Sheet1 and Sheet2 ", , "KuTools For Excel"
Exit Sub
End Select
Else
Exit Sub
End If
End Sub 
3. Appuyez sur la touche F5 pour imprimer directement la (les) feuille(s).
Imprimer une feuille en fonction de la cellule adjacente avec VBA
Si votre classeur contient plusieurs feuilles et que vous souhaitez en imprimer une ou plusieurs en fonction des valeurs de cellules de ce même classeur, procédez comme suit :
1. Créez une nouvelle feuille nommée FeuilContrôle dans le classeur utilisé, puis listez tous les noms de feuilles dans la colonne A (incluez ou excluez la feuille de contrôle selon vos besoins). Voir la capture d’écran :
2. Saisissez «imprimer» dans la cellule située juste à côté du nom de la feuille si vous souhaitez l’imprimer. Voir la capture d’écran ci-dessous.
3. Appuyez sur les touches Alt + F11 pour ouvrir la fenêtre Microsoft Visual Basic pour Applications, puis cliquez sur Insertion > Module. Voir la capture d’écran :
4. Collez le code ci-dessous dans le module, puis appuyez sur la touche F5 pour exécuter le code.
VBA : impression en fonction de la cellule adjacente
Sub CreateControlSheet()
'UpdatebyExtendoffice20170811
Dim i As Integer
Dim xCSheetRow As Integer
Dim xSName As String
Dim xCSheet As Variant
Dim xRgVal As String
On Error Resume Next
xSName = "Control Sheet"
Application.ScreenUpdating = False
Application.DisplayAlerts = False
Set xCSheet = ActiveWorkbook.Worksheets(xSName)
xCSheetRow = xCSheet.Range("B65536").End(xlUp).Row
For i = 2 To xCSheetRow
xRgVal = xCSheet.Range("B" & i).Value
If xRgVal = "Print" Or xRgVal = "print" Then
If xCSheet.Range("A" & i).Value <> "" Then
ActiveWorkbook.Worksheets(xCSheet.Range("A" & i).Value).PrintOut
End If
End If
Next
xCSheet.Delete
ActiveWorkbook.Worksheets.Add
ActiveSheet.Name = "Control Sheet"
Range("A1").Select
ActiveCell.FormulaR1C1 = "Sheet Name"
Range("B1").Select
ActiveCell.FormulaR1C1 = "Print?"
For i = 1 To ActiveWorkbook.Worksheets.Count
Range("A" & i + 1).Value = ActiveWorkbook.Worksheets(i).Name
Next
Cells.Columns.AutoFit
Application.DisplayAlerts = True
Application.ScreenUpdating = True
End Sub 
Après l’exécution du code, la (les) feuille(s) sera(ont) imprimée(s) immédiatement, et une nouvelle FeuilContrôle remplacera simultanément l’ancienne.
Kutools pour Excel– Boostez Excel avec plus de 300 outils essentiels, pour gagner en rapidité et en simplicité, et profitez des fonctionnalités d’intelligence artificielle pour un traitement de données plus intelligent et une productivité accrue.Obtenez-le dès maintenant
Meilleurs outils de productivité Office
Boostez vos compétences Excel avec Kutools pour Excel et découvrez une efficacité inégalée.Kutools pour Excel propose plus de 300 fonctionnalités avancées pour améliorer votre productivité et Gagner du temps.Cliquez ici pour obtenir la fonctionnalité dont vous avez le plus besoin...
Office Tab apporte une interface à onglets à Office et rend votre travail bien plus facile
- Activez l’édition et la lecture par onglets dans Word, Excel, PowerPoint, Publisher, Access, Visio et Project.
- Ouvrez et créez plusieurs documents dans de nouveaux onglets de la même fenêtre, plutôt que dans de nouvelles fenêtres.
- Augmente votre productivité de 50 % et vous fait économiser des centaines de clics de souris chaque jour !
Tous les compléments Kutools. Un seul installateur
Kutools for Office regroupe les compléments pour Excel, Word, Outlook et PowerPoint, ainsi que Office Tab Pro, ce qui en fait le choix idéal pour les équipes travaillant à travers les applications Office.
- Suite tout-en-un— Compléments Excel, Word, Outlook et PowerPoint + Office Tab Pro
- Un seul installateur, une seule licence— installation en quelques minutes (compatible MSI)
- Fonctionne mieux ensemble— productivité optimisée dans toutes les applications Office
- Essai gratuit de 30 jours avec toutes les fonctionnalités— aucune inscription, aucune carte bancaire
- Meilleur rapport qualité-prix— économisez par rapport à l’achat de compléments individuels