[Impression] 50 onglets - 2 zones

  • Initiateur de la discussion Initiateur de la discussion Stef
  • 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 !

S

Stef

Guest
Bonjour à tous !

Je découvre ce forum bien sympathique, et j'en suis ravi.

J'ai essayé de trouver - sans succès - la réponse à mon problème... je vous le soumet donc...

Je dispose d'un fichier de 50 onglets.
Sur chaque onglet je dispose de 2 zones : 'Budget' / 'Réalisé'
Je dispose également de 2 synthèses... la synthèse budget, et la synthèse réalisé (évidemment).

Bon à ce stade vous devriez avoir deviner la question...

Je souhaite imprimer toutes les zones 'Budget' de mes 50 onglets ou toutes les zones 'Réalisé' en un seul bloc de façon à avoir mon petit botin 'Budget' ou mon petit botin 'Réalisé' avec sa synthèse.

Comment faire :S ?

Message édité par: Stef, à: 16/06/2005 10:48

Message édité par: Stef, à: 16/06/2005 10:50

Message édité par: Stef, à: 16/06/2005 18:29
 
Salut Steph !

Il faudrait que tu mettes un fichier zippé moins de 50 ko, même si tu dois l'alléger (3 feuilles suffiront), afin que l'on puisse avoir une réflexion sur quelquechose de plus concret.

Car, même si l'on a déjà une idée de comment nous allons traité le problème, un support visuel et précis, nous fera gagner du temps.

Bonne nuit à toi

@ +++


Moa
 
Bonjour Steph, Moa le Forum

j'imagine que par onglets tu veux dire 'feuilles' ?
Si c'est bien le cas et avant de poursuivre dis moi si la solution suivante te conviendrait :
- définir la plage ou la zone Budget de la feuille (chaue plage étant je présume identique entre tes 50 feuilles)
- faire de même avec la zone Réalisé
- la macro1 permettrait l'édition de la zone Budget, la macro2 l'édition de la zone Réalisé.

Avant d'aller plus loin, confirme moi que c'est bien ce que tu souhaites

Bonne journée
Sylvie
 
Salut Moa... heu Toa :woohoo: , salut Sylvie,

Merci pour vos réponses de cette nuit...

Alors mon fichier actuel pèse 4 Mo... donc il faudrait que je reconstitue un truc pour l'exemple, mais peu importe je pense car Sylvie a bien cerné le problème...

50 feuilles effectivement... Peu importe leur contenu d'ailleurs : chaque feuille s'imprime sur deux pages (l'une à droite de l'autre ou l'une en dessous de l'autre peu importe), et l'objectif est d'imprimer le lot de 50 feuilles relatif à la première ou à la seconde partie des tableaux.

J'espère que ma demande est plus claire sinon je fait un petit modèle pour l'exemple. 😉
 
Bonjour Stef, Sylvie40, Moa, le forum,

Si j'ai bien compris ton souci, l'idéal serait de pouvoir définir une zone d'impression sur les 50 feuilles à la fois.

Je crois qu'on peut nommer une plage en 3D. On devrait pouvoir utiliser cette plage comme zone d'impression.
Je n'ai pas tester. A voir donc ....


Sinon, une autre solution :

Code:
Sub ZoneImpression()
For Each sh In Sheets
    sh.PageSetup.PrintArea = '$A$1:$g$41'
Next sh
ActiveWorkbook.PrintOut Copies:=1, Collate:=True
End Sub

La zone est à adapter.
Je n'ai pas fait de test sur 50 feuilles. Je ne préjuge donc pas de la vitesse ou de la lenteur de la procédure.

Edition : cette solution sous entend que la zone d'impression est la même sur les 50 feuilles, bien sûr.


En espérant que cela te dépanne.

Abel.

Message édité par: Abel, à: 17/06/2005 10:09

Edition2 :
Oups !
Fro each ws in worksheets (c'est mieux même si ça marche quand même avec Sheets).

Message édité par: Abel, à: 17/06/2005 10:18
 
Salut Abel, et merci pour ta réponse.

Oui ma zone d'impression est la même sur chacune des feuilles concernées...

Ta solution est interessante, je vais regarder ça... tite question quand même : comment limiter cette zone d'édition 3D, par exemple si je veux faire une édition partielle (39 onglets par exemple) ?

PS : je relis ta réponse et je me demandais, ton code c'est bien pour ta solution d'édition 3D ? Je me posais cette question car tu précises

Abel écrit:
Je crois qu'on peut nommer une plage en 3D.
...
Sinon, une autre solution...

et du coup j'ai un gros doute...

Message édité par: Stef, à: 17/06/2005 10:31
 
Ca marche ! 🙂

Enfin la multi-impression marche...

Ce qu'il me faudrait maintenant c'est limiter l'impression à une sélection de feuilles...

du genre :
feuille 1 à 30
ou
feuille 1, 2, 3, 4, 5, ..., 30


Question : est il possible de paramétrer l'orientation du papier ?

Par exemple ma première macro lance des impressions sur un format portrait, tandis que la seconde serait un format paysage...


NB : le code utilisé est le suivant :

Sub Impression_budgets()
For Each ws In Worksheets
ws.PageSetup.PrintArea = '$P$1:$AI$60'
Next ws
ActiveWorkbook.PrintOut Copies:=1, Collate:=True
End Sub


Message édité par: Stef, à: 17/06/2005 10:58
 
Re,

S'il s'agit toujours des mêmes feuilles à imprimer de telle ou telle manière, range les dans l'ordre qu'il te convient dans le fichier.
Puis dans les macro, à la place de for each ws..., mets :

Code:
i = 0
For i = 1 To LeNombredeFeuilles
    With Sheets(i).PageSetup
        .PrintArea = 'la plage'
        .Orientation = xlLandscape 'pour le format paysage
    End With
Next i
ActiveWorkbook.PrintOut Copies:=1, Collate:=True

Pour l'autre format d'impression, tu fais pareil en partant de LeNomdeFeuilles + 1.

Excuse moi, je n'ai pas le temps de tester. S'il n'y a pas d'erreur, tant mieux. Sinon, la syntaxe doit tourner autour de ce que je te présente.
Regarde l'aide de VB.

Pour la question de la plage nommée en 3D, la solution macro que je présente est un ersatz pour la remplacer.

Il y a sûrement d'autres solutions.


Si les feuilles à imprimer sont réparties un peu 'n'importe où' dans le fichier, il faudra passer par une liste de choix dans un userform. Regarde les barbatrucs de Thierry, il y en a un (je ne sais plus lequel) d'il y a quelques mois où il y a un très bel exemple d'affichage des onglets dans un listbox avec sélection des onglets pour faire un traitement. Dans ton cas, de serait pour faire l'impression.
Il me semble que c'est vers le moment où on a commencé à appeler ses démo des barbatrucs.
Fais une recherche avec 'barbatruc'. Attention, liste risque d'être longue (hi hi !).

Thierry, si tu passes par là ...


Abel.
 
Salut Abel et encore merci pour tes réponses, surtout si tu n'a pas beaucoup de temps...

Je débute dans le domaine, je fouine pas mal sur le web pour me former, j'avance lentement ,mais surement...

J'ai quand même une question par rapport à ta remarque :

Abel écrit:
Si les feuilles à imprimer sont réparties un peu 'n'importe où' dans le fichier, il faudra passer par une liste de choix dans un userform.
Abel.[/quote]

En fait elles ne sont pas n'importe où... ce sont les feuilles 7 à 92 (j'en suis à près de 100 feuilles maintenant !)... Et les plages de feuilles seront toujours figées... donc si tu as une astuce pour sélectionner ces feuilles sans passer par une liste...
 
Re,

Ben, comme dit plus haut :

Code:
i = 0
For i = [color=#FF0000]7[/color] To [color=#FF0000]92[/color]
    With Sheets(i).PageSetup
        .PrintArea = 'la plage'
        .Orientation = xlLandscape 'pour le format paysage
    End With
Next i
ActiveWorkbook.PrintOut Copies:=1, Collate:=True ' cette instruction copie tout le classeur

Ca devrait le faire.

Abel.

ps : pas sur mon poste, d'où le visiteur. Et p'is comme ça, mon compteur avance moins vite. Arf !
 
- 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
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

A
Réponses
4
Affichages
1 K
Réponses
5
Affichages
954
OLIV67
O
P
Réponses
1
Affichages
1 K
papoow
P
L
Réponses
4
Affichages
1 K
Le pitoux
L
D
Réponses
6
Affichages
1 K
D
Réponses
11
Affichages
2 K
Luke3300
L
D
Réponses
8
Affichages
2 K
devileyes
D
C
Réponses
0
Affichages
918
C
S
Réponses
5
Affichages
1 K
S
I
Réponses
1
Affichages
1 K
I
Retour