XL 2010 Impression par VBA

  • Initiateur de la discussion Initiateur de la discussion Appo1985
  • Date de début Date de début

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 !

Appo1985

XLDnaute Occasionnel
Bonjour. Besoin d'aide .
Je voudrais imprimer un tableau plusieurs fois , chaque fois après avoir filtré les données je voudrais de l'aide pour adapter mon code et éviter la répétition car j'ai a filtré et imprimer une quarantaine de fois.

voici une partie de.mon code.

Sub Impression_liste_par_ecole() ActiveSheet.ListObjects("Tableau1").Range.AutoFilter Field:=18, Criteria1:= _ "Gonsé"² ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True, _ IgnorePrintAreas:=False ActiveSheet.ListObjects("Tableau1").Range.AutoFilter Field:=18, Criteria1:= _ "Somna" ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True, _ IgnorePrintAreas:=False ActiveSheet.ListObjects("Tableau1").Range.AutoFilter Field:=18, Criteria1:= _ "Tangui" ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True, _ IgnorePrintAreas:=False ActiveSheet.ListObjects("Tableau1").Range.AutoFilter Field:=18, Criteria1:= _ "Voaga A" ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True, _ IgnorePrintAreas:=FalseEnd Sub
 
Bonjour Appo1985

Dans ton classeur, as-tu une liste des éléments à filtrer par hasard ?
Sinon il suffit d'en créer une, en la nommant "ListeEcoles"

Puis d'utiliser ce code 😉
VB:
Sub Impression_liste_par_ecole()
  Dim Cel As Range
  With ActiveSheet
    For Each Cel In Range("ListeEcoles")
      .ListObjects("Tableau1").Range.AutoFilter Field:=18, Criteria1:=Cel.Value
      .PrintOut Copies:=1, Collate:=True, IgnorePrintAreas:=False
    Next Cel
  End With
End Sub

A+
 
Dernière modification par un modérateur:
Bonjour Appo1985

Dans ton classeur, as-tu une liste des éléments à filtrer par hasard ?
Sinon il suffit d'en créer une, en la nommant "ListeEcoles"

Puis d'utiliser ce code 😉
VB:
Sub Impression_liste_par_ecole()
  Dim Cel As Range
  With ActiveSheet
    For Each Cel In Range("ListeEcoles")
      .ListObjects("Tableau1").Range.AutoFilter Field:=18, Criteria1:=Cel.Value
      .PrintOut Copies:=1, Collate:=True, IgnorePrintAreas:=False
    Next Cel
  End With
End Sub

A+
Vraiment merci grandement. C'est exactement ce que je voulais.
 
- 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

Discussions similaires

Réponses
10
Affichages
467
Réponses
1
Affichages
441
Réponses
4
Affichages
842
  • Question Question
Microsoft 365 colorer une plage
Réponses
2
Affichages
835
  • Question Question
Microsoft 365 Copie des données
Réponses
0
Affichages
590
  • Question Question
Microsoft 365 Question code VBA
Réponses
2
Affichages
380
Retour