Comment imprimer des feuilles spécifiques en fonction des valeurs des cellules dans Excel ?
Avez-vous déjà essayé d'imprimer des feuilles spécifiques en fonction de la valeur d'une cellule ? Dans cet article, je vais fournir quelques exemples pour aborder ce problème. Si vous êtes intéressé, veuillez continuer à lire.
Imprimer une feuille basée sur une cellule avec VBA
Imprimer une feuille basée sur une cellule adjacente avec VBA
Imprimer une feuille basée sur une cellule avec VBA
Supposons qu'il y ait deux feuilles, et que vous souhaitiez imprimer Feuille1 ou Feuille2 ou les deux feuilles en fonction de la Cellule A1 dans la Feuille1. Veuillez procéder comme suit :
Dans ce cas, entrer 1 indique d'imprimer la première feuille, entrer 2 pour imprimer la deuxième feuille, et 3 pour imprimer les deux feuilles.
1. Entrez 1, 2, ou 3 selon vos besoins dans la cellule A1 de la première feuille, puis appuyez sur Alt + F11 pour ouvrir la fenêtre Microsoft Visual Basic for Applications.
2. Cliquez Insérer > Module, et collez le code ci-dessous dans le Module script. Voir capture d'écran :
VBA : Imprimer une feuille basée sur 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 ou les feuilles.
Imprimer une feuille basée sur une cellule adjacente avec VBA
Si vous avez plusieurs feuilles dans un classeur, et que vous souhaitez imprimer une ou plusieurs feuilles en fonction des valeurs des cellules de ce classeur, vous pouvez procéder comme suit :
1. Créez une nouvelle feuille nommée Feuille de contrôle dans le classeur que vous utilisez, et listez tous les noms de feuilles dans la colonne A (incluez ou excluez la feuille de contrôle selon vos besoins). Voir capture d'écran :
2. Tapez «imprimer» dans la cellule adjacente au nom de la feuille si vous souhaitez l'imprimer. Voir la capture d'écran ci-dessous.
3. Appuyez sur Alt + F11 pour activer la fenêtre Microsoft Visual Basic for Applications et cliquez Insérer > Module. Voir capture d'écran :
4. Collez le code ci-dessous dans le Module, puis appuyez sur la touche F5 pour exécuter le code.
VBA : Imprimer en fonction d'une 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 avoir exécuté le code, la ou les feuilles seront imprimées immédiatement, et en même temps, une nouvelle Feuille de contrôle remplacera l'ancienne.

Kutools pour Excel - Boostez Excel avec plus de 300 outils essentiels. Profitez de fonctionnalités IA gratuites en permanence ! Obtenez-le maintenant
Meilleurs outils de productivité pour Office
Boostez vos compétences Excel avec Kutools pour Excel, et découvrez une efficacité sans précédent. Kutools pour Excel propose plus de300 fonctionnalités avancées pour augmenter la 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 facilite grandement votre travail
- Activez la modification 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é de50 %, et réduit des centaines de clics de souris pour vous chaque jour !