Note: The other languages of the website are Google-translated. Back to English
Se connecter  \/ 
x
or
x
INSCRIPTION  \/ 
x

or

Comment imprimer certaines pages ou feuilles de calcul en fonction de la valeur de la cellule dans Excel?

Avez-vous déjà essayé d'imprimer une page ou une feuille de calcul en fonction d'une valeur de cellule dans Excel? Et comment y parvenir? Les méthodes décrites dans cet article peuvent vous aider à le résoudre en détail.

Imprimer certaines pages en fonction de la valeur de la cellule avec le code VBA
Imprimer certaines feuilles de calcul en fonction de la valeur de la cellule avec le code VBA


Imprimer certaines pages en fonction de la valeur de la cellule avec le code VBA


Par exemple, vous souhaitez qu'une certaine page telle que la page 1 de la feuille de calcul actuelle soit imprimée automatiquement lors de la saisie du numéro de page 1 dans la cellule A1 de la feuille de calcul actuelle. Vous pouvez faire comme suit pour y parvenir.

1. Sélectionnez la cellule contenant le numéro de page sur lequel vous souhaitez imprimer, puis appuyez sur autre et F11 touches simultanément pour ouvrir le Microsoft Visual Basic pour applications la fenêtre. Puis clique insérer > Module.

2. Puis le Microsoft Visual Basic pour applications apparaît, veuillez copier et coller le code VBA suivant dans le Code fenêtre.

Code VBA: imprimer la page en fonction de la valeur de la cellule

Option Explicit
Sub Print_Pages()
Dim xPage As Integer
Dim xYesorNo As Integer
With ActiveCell
    If Not IsEmpty(.Value) And IsNumeric(.Value) Then
        xPage = .Value
    Else: MsgBox "Please specify a cell and enter a page in cell"
        Exit Sub
    End If
End With
xYesorNo = MsgBox("Ready to print page" & xPage & " ", vbYesNo, "Kutools for Excel")
If xYesorNo = vbYes Then
    ActiveSheet.PrintOut from:=xPage, To:=xPage, preview:=True
Else
    Exit Sub
End If
End Sub

3. presse F5 clé pour exécuter le code. Dans le popping Kutools pour Excel boîte de dialogue, cliquez sur le Oui pour imprimer la page donnée, ou cliquez sur le Non pour quitter la boîte de dialogue si vous ne souhaitez pas imprimer. Voir la capture d'écran:

Ensuite, la fenêtre d'aperçu de la certaine page de la feuille de calcul actuelle s'ouvre, veuillez cliquer sur le IMPRESSION pour lancer l'impression.


Imprimer certaines pages en fonction de la valeur de la cellule avec le code VBA

Supposons que vous souhaitiez imprimer la feuille de calcul active lorsque la valeur de la cellule B2 de cette feuille est égale au numéro 1001. Vous pouvez y parvenir avec le code VBA suivant. Veuillez faire comme suit.

1. Cliquez avec le bouton droit sur Onglet Feuille que vous souhaitez imprimer en fonction de la valeur de la cellule, puis cliquez sur Voir le code dans le menu contextuel.

2. Puis le Microsoft Visual Basic pour applications apparaît, veuillez copier et coller le code VBA suivant dans la fenêtre Code.

Code VBA: imprimer la feuille de calcul en fonction de la valeur de la cellule

Private Sub Worksheet_Change(ByVal Target As Range)
Dim xCell As Range, xYesorNo As Integer
Set xCell = ActiveSheet.Range("B2")
If Application.Intersect(Target, xCell) Is Nothing Then Exit Sub
    If xCell.Value = 1001 Then
        xYesorNo = MsgBox("Ready to print the specified worksheet? ", vbYesNo, "Kutools for Excel")
        If xYesorNo = vbYes Then
          ActiveSheet.PrintOut
        Else
           Exit Sub
        End If
End If
End Sub

Notes: Vous pouvez modifier la cellule et la valeur de la cellule dans le code selon vos besoins.

3. presse autre + Q pour fermer le Microsoft Visual Basic pour applications fenêtre.

Lors de la saisie du numéro 1001 dans la cellule B2, un Kutools pour Excel boîte de dialogue apparaît, veuillez cliquer sur le Oui pour lancer l'impression. Ou cliquez sur le Non pour quitter la boîte de dialogue directement sans imprimer. Voir la capture d'écran:

Pointe: Si vous souhaitez imprimer directement des pages non consécutives telles que les pages 1, 6 et 9 dans la feuille de calcul actuelle, ou imprimer uniquement toutes les pages paires ou impaires, vous pouvez essayer le Imprimer les pages spécifiées utilitaire pf Kutools pour Excel comme ci-dessous la capture d'écran montrée. Tu peux aller à télécharger gratuitement le logiciel sans limitation dans 30 jours.


Articles connexes:


Les meilleurs outils de productivité de bureau

Kutools for Excel résout la plupart de vos problèmes et augmente votre productivité de 80%

  • Réutilisation: Insérer rapidement formules complexes, graphiques et tout ce que vous avez utilisé auparavant; Crypter les cellules avec mot de passe; Créer une liste de diffusion et envoyer des e-mails ...
  • Barre Super Formula (modifiez facilement plusieurs lignes de texte et de formule); Disposition de lecture (lire et modifier facilement un grand nombre de cellules); Coller dans la plage filtrée...
  • Fusionner les cellules / lignes / colonnes sans perdre de données; Contenu des cellules divisées; Combiner des lignes / colonnes en double... Empêcher les cellules en double; Comparer les gammes...
  • Sélectionnez Dupliquer ou Unique Lignes; Sélectionnez les lignes vides (toutes les cellules sont vides); Super Find et Fuzzy Find dans de nombreux classeurs; Sélection aléatoire ...
  • Copie exacte Plusieurs cellules sans changer la référence de formule; Créer automatiquement des références à plusieurs feuilles; Insérer des puces, Cases à cocher et plus encore ...
  • Extrait du texte, Ajouter du texte, Supprimer par position, Supprimer l'espace; Créer et imprimer des sous-totaux de pagination; Conversion entre le contenu et les commentaires des cellules...
  • Super filtre (enregistrer et appliquer des schémas de filtrage à d'autres feuilles); Tri avancé par mois / semaine / jour, fréquence et plus; Filtre spécial par gras, italique ...
  • Combiner des classeurs et des feuilles de travail; Fusionner les tableaux en fonction des colonnes clés; Diviser les données en plusieurs feuilles; Conversion par lots xls, xlsx et PDF...
  • Plus de 300 fonctionnalités puissantes. Prend en charge Office / Excel 2007-2019 et 365. Prend en charge toutes les langues. Déploiement facile dans votre entreprise ou organisation. Essai gratuit de 30 jours. Garantie de remboursement de 60 jours.
onglet kte 201905

Office Tab apporte une interface à onglets à Office et simplifie considérablement votre travail

  • Activer 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 réduit des centaines de clics de souris chaque jour!
bas de cabine
Say something here...
symbols left.
You are guest
or post as a guest, but your post won't be published automatically.
Loading comment... The comment will be refreshed after 00:00.
  • To post as a guest, your comment is unpublished.
    Ryan · 2 years ago
    This was very helpful! Is there a way to print multiple pages? For example, if cell A1 = 5, print pages 1-5.
    • To post as a guest, your comment is unpublished.
      crystal · 2 years ago
      Hi Ryan,
      If you want to print consecutive pages such as 1-5 in a worksheet based on a cell value, please specify a cell such as A1 as Text formatting, type 1-5 into it, keep this cell selecting, and then run the below VBA code.

      Sub Print_Pages()
      Dim xPage As String
      Dim xYesorNo As Integer
      Dim xI As String
      Dim xPArr() As String
      Dim xIS, xIE, xF, xNum As Integer
      xPage = ActiveCell.Value
      xYesorNo = MsgBox("Ready to print page" & xPage & " ", vbYesNo, "Kutools for Excel")
      If xYesorNo = vbYes Then
      xPArr() = Split(xPage, "-")
      If UBound(xPArr) = 0 Then
      If IsEmpty(xPage) And IsNumeric(xPage) Then
      MsgBox "Please specify a cell and enter a page in cell"
      Exit Sub
      End If
      xNum = Int(xPage)
      ActiveSheet.PrintOut from:=xNum, To:=xNum, preview:=True
      ElseIf UBound(xPArr) = 1 Then
      On Error GoTo Err01
      xIS = Int(xPArr(0))
      xIE = Int(xPArr(1))
      If xIS < xIE Then
      For xF = xIS To xIE
      ActiveSheet.PrintOut from:=xF, To:=xF, preview:=True
      Next
      Else
      For xF = xIE To xIS
      ActiveSheet.PrintOut from:=xF, To:=xF, preview:=True
      Next
      End If
      Else
      MsgBox "Please enter the valid data", vbOKOnly, "Kutools for Excel"
      Exit Sub
      End If
      Else
      Exit Sub
      End If
      Exit Sub
      Err01:
      MsgBox "Please enter the correct page scope", vbOKOnly, "Kutools for Excel"
      End Sub
      • To post as a guest, your comment is unpublished.
        Manny · 1 years ago
        Thank you. I have the same issue I want to print pages based on cell value. Lets say variable changes i.e page 1-5 and then some time 2-6. So I have a field which will calculate and will put that in text format as suggested.But for some reason it doesnt work for me. It doesnt prints any pages.
        Can you please advise
        • To post as a guest, your comment is unpublished.
          R · 24 days ago
          Did you ever figure out how to get this working?