KutoolsforOffice — Une solution unique, cinq outils puissants.Faire plus avec moins d'efforts.Soldes de mars : 20 % de réduction

Comment imprimer des feuilles spécifiques selon les valeurs contenues dans certaines cellules sous Excel ?

AuteurSun Date de modification

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 :
Capture d’écran de l’insertion d’un module dans la fenêtre VBA

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

Capture d’écran du code VBA inséré dans la fenêtre du module

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 :
Capture d’écran montrant la « Feuille de contrôle » avec les noms des feuilles listés dans la colonne A dans Excel

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.
Capture d’écran de la « Feuille de contrôle » avec les valeurs « imprimer » saisies dans les cellules adjacentes à côté des noms des feuilles

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 :
Capture d’écran de l’insertion d’un module dans la fenêtre VBA

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

Capture d’écran du code VBA inséré dans la fenêtre du module

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.

Astuce : Si vous possédez Kutools pour Excel, son utilitaire Créer une table de liens vous permet de générer instantanément, dans une nouvelle feuille, une liste de tous les noms d’onglets accompagnés d’un lien cliquable.

Capture d’écran d’une Feuille de contrôle avec des liens cliquables vers les noms des feuilles après utilisation de Kutools

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

🤖Kutools IA Aide: Révolutionnez Analyse des données grâce à :Exécution intelligente   |  Générez du code|  Créez formules personnalisées  |  Analysez des données et générez des graphiques|  Appelez Fonctions améliorées
Fonctionnalités populaires:Rechercher, mettre en surbrillance ou Marquer les doublons   |  Supprimer les lignes vides   |  Combinez les colonnes ou cellules sans perdre de données   |   Arrondi sans utiliser de formule...
Super RECHERCHEV:RechercheValeurs avec critères multiples  |  RechercheValeurs avec valeurs multiples  |   RechercheValeurs dans plusieurs feuilles   |   Correspondance floue....
Liste déroulante avancée:Créez rapidement une liste déroulante   |  Liste déroulante dépendante   |  Liste déroulante à sélection multiple....
Gestionnaire de colonnes:Ajouter un nombre précis de colonnes|Déplacer des colonnes|Basculer la visibilité des colonnes masquées|Comparer des plages et des colonnes...
Fonctionnalités vedettes:Mise au point de la grille   |  Vue de conception   |Barre de formule améliorée   | Gestionnaire de classeurs et de feuilles   |  Bibliothèque de ressources(Texte automatique)|  Sélecteur de date   |  Consolider les feuilles de calcul  |  Chiffrer/Déchiffrer les cellules   | Envoyer des e-mails par liste   |  Super Filtre   |   Filtre spécial(Filtrer les cellules avec une police en gras/italique/barré...) ...
… et bien plus encore… et plus encore:(,)Supprimer des caractères spécifiques, ...)|   50+Typesde graphiques(, ...)|   40+ Formules pratiques(Calculer l'âge en fonction de la date de naissance, ...)|   19 Outils d’insertion(,Insérer une image depuis un chemin , ...)|   de conversion (Convertir en mots,Conversion de devises, ...)|Fusionner et scinder   (Fusion avancée des lignes,Diviser les cellules , ...)|, ...)   |
Utilisez Kutools dans la langue de votre choix – disponible en anglais, espagnol, allemand, français, chinois et 40+ autres langues !

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.

ExcelWordOutlookTabsPowerPoint
  • 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