Imprimer les onglets de différents fichiers Excel

Bonjour à tous,

Voilà mon problème auquel je ne trouve pour l'instant aucune réponse...

je souhaite imprimer les onglets ayants le même nom mais placés dans des fichiers différents.

j'explique,

chaque fichier excel comporte 13 onglets.

'A1 ; A2 ; A3 ; ... ; A13'

ou

'B1 ; B2 ; B3 ; ... ; B13'

ou

'A1 ; B2 ; A3 ; A4 ; B5 ; ... '

Je peux avoir une trentaine de fichiers excel dans un répertoire.

Je cherche à imprimer uniquement les onglets 'B2' mais sans avoir a ouvrir chacun des fichiers un à un pour voir si un onglet porte ce nom là.

Est ce que je dois créer un fichier excel avec une macro qui recherche dans tous les autres fichiers du meme répertoire ?

pour info, je ne connais pas grand chose en macro, si ce n'est copier ce que je trouve sur le net et le mettre a ma sauce...

merci d'avance pour votre aide, car là je ne m'en sort pas...

Salut et bienvenue sur le Forum,

Voici un code qui imprime les feuilles "B2" de tous les fichiers du dossier dans lequel se trouve le fichier comportant cette macro.

Si le nom "B2" change continuellement, on pourrait demander le nom des feuilles à imprimer par InpuBox.

J'ai présumé que tu n'avais que des fichiers Excel dans ce dossier.

Cordialement.

Option Explicit

Sub En_revue()

Dim Fichier_traité As String, k As Integer
Dim Chemin As String, i As Integer

Application.ScreenUpdating = False

Chemin = ThisWorkbook.Path & "\"
Fichier_traité = Dir(Chemin & "*.*")

Do While Fichier_traité <> ""
        If Fichier_traité = ThisWorkbook.Name Then GoTo etiquette
            Workbooks.Open Chemin & Fichier_traité
            For i = 1 To Sheets.Count
                If Sheets(i).Name = "B2" Then ActiveSheet.PrintOut
            Next i
        Workbooks(Fichier_traité).Close False
etiquette:
Fichier_traité = Dir
Loop

End Sub
46ysassi.zip (11.21 Ko)

whaou !

merci Yvouille pour ton aide.

alors je viens de l'essayer, mais cela n'imprime que l'onglet actif lors du dernier enregistrement (pas forcement B2) et des fichiers dont il y a l'onglet B2.

C'est donc presque bon... on s'approche.

je continue a chercher, mais comme j'y connais pas grand chose, ton aide est bien entendu la bienvenue.

encore merci pour ton aide

Désolé, j'ai testé avec un seul fichier

Il faut remplacer la ligne

If Sheets(i).Name = "B2" Then ActiveSheet.PrintOut

par

If Sheets(i).Name = "B2" Then Sheets(i).PrintOut

Amicalement.

FABULEUX !!!

j'ai chercher des heures et des heures et tu as résolu mon problème en deux deux !

Mille mercissssss pour ton aide !

bon allez, je demande peut etre que ça prend rien, et si je veux que ça demande quel nom d'onglet on veut imprimer !

pour ne pas forcement faire le B2

sinon je créé un bouton par onglet, A1, B1, A2, B2, ...

encore merci beaucoup en tout cas.

cordialement

Et voila

Option Explicit

Sub En_revue()

Dim Fichier_traité As String, k As Integer
Dim Chemin As String, i As Integer, Une_certaine_feuille As String

Application.ScreenUpdating = False

Une_certaine_feuille = InputBox("Quelle feuille désires-tu imprimer ?")
Chemin = ThisWorkbook.Path & "\"
Fichier_traité = Dir(Chemin & "*.*")

Do While Fichier_traité <> ""
        If Fichier_traité = ThisWorkbook.Name Then GoTo etiquette
            Workbooks.Open Chemin & Fichier_traité
            For i = 1 To Sheets.Count
                If Sheets(i).Name = Une_certaine_feuille Then Sheets(i).PrintOut
            Next i
        Workbooks(Fichier_traité).Close False
etiquette:
Fichier_traité = Dir
Loop

End Sub

Alors là,

je dis encore merci !

bonne continuation à toi

Bravo !

Cordialement

allez, juste parce que je ne m'en sort pas tout seul...

si tous les fichiers excel que je veux imprimer ne sont pas dans le même répertoire... comment je fais ?

je peux placer le fichier excel qui me sert à l'impression dans le répertoire maitre mais tous les fichiers excel se retrouveraient dans des sous répertoire.

merci d'avance

Salut,

J'ai quelques difficultés avec ta nouvelle demande. Pour l'instant je ne m'en sors pas. Alors soit tu patientes 5 à 10 jours et probablement que je vais finir par m'en sortir, soit tu indiques ce fil comme résolu et tu places ta nouvelle demande - sur la base d'un fichier exemple comportant déjà ta macro actuelle - sur un autre fil tout neuf. Dans ce dernier cas, c'est avec beaucoup d'intérêt que je suivrai ce nouveau fil. D'ailleurs, si je ne m'en sors vraiment pas, je vais moi-même finir par devoir demander de l'aide à d'autres membres.

A toi de voir.

Amicalement.

Salut,

Malgré ton absence de réponse, j'espère que tu es encore de l'intérêt pour ce fil

En combinant mon code avec un autre code trouvé sur la toile, j'ai réussi à ce que ça imprime la feuille X de tous les fichiers du dossier dans lequel se trouve ce fichier de base ainsi que la feuille X de tous les fichiers de tous les sous-dossiers et sous-sous-dossiers, etc.

A toi de tester.

Cordialement.

53base-ysassi-v3.zip (13.12 Ko)

Bonjour Yvouille

Désolé de ne pas avoir répondu, j'avais pas compris que tu étais dans l'attente d'une réponse, en fait j'avais suivi ton conseil d'ouvrir un nouveau fil.

Bref, en tout cas tu es vraiment un champion car tu as réussi à faire exactement ce que je cherchais.

j'ai pourtant cherché aussi sur le net un moyen mais j'ai bataillé mais pas trouvé.

en tout cas ton fichier marche très bien, tu as donc résolu en totalité mon problème.

JE TE REMERCIE CHALEUREUSEMENT.

BRAVO !

Cordialement et au plaisir de te retrouver un jour sur la toile... qui sait !

Rechercher des sujets similaires à "imprimer onglets differents fichiers"