VBA mise en page pour impression
Résolu/Fermé
Nico
-
22 sept. 2011 à 11:44
pijaku Messages postés 12263 Date d'inscription jeudi 15 mai 2008 Statut Modérateur Dernière intervention 4 janvier 2024 - 22 sept. 2011 à 13:28
pijaku Messages postés 12263 Date d'inscription jeudi 15 mai 2008 Statut Modérateur Dernière intervention 4 janvier 2024 - 22 sept. 2011 à 13:28
A voir également:
- VBA mise en page pour impression
- Spouleur d'impression - Guide
- Mise en forme conditionnelle excel - Guide
- Supprimer une page word - Guide
- Mise a jour chrome - Accueil - Applications & Logiciels
- Mise a jour windows 10 - Accueil - Mise à jour
2 réponses
michel_m
Messages postés
16603
Date d'inscription
lundi 12 septembre 2005
Statut
Contributeur
Dernière intervention
16 décembre 2023
3 310
22 sept. 2011 à 12:13
22 sept. 2011 à 12:13
pour l'instant tu parles de petits tableaux et moi je n'en vois qu'un
pour encadrer
par ex:
et pourquoi ne fais tu pas ces encadrements en 1 seule fois ?
pour encadrer
par ex:
Range("A1:C46").borders.weight=xlthin
et pourquoi ne fais tu pas ces encadrements en 1 seule fois ?
pijaku
Messages postés
12263
Date d'inscription
jeudi 15 mai 2008
Statut
Modérateur
Dernière intervention
4 janvier 2024
2 752
22 sept. 2011 à 12:15
22 sept. 2011 à 12:15
Bonjour,
je sais pas ce que vous pensez de mon code, si vous avez moyen de l'améliorer je ne suis pas contre
Il fonctionne?
N'est pas lent?
===> Pourquoi le changer...
comment faire pour que les petits tableaux ne soient jamais coupés sur 2 pages lors de l'impression ? Dans ton cas, je ferais une boucle et imprimerais par "sélection" de 5 tableaux (soit 30 lignes).
Du style :
Cordialement,
Franck P
je sais pas ce que vous pensez de mon code, si vous avez moyen de l'améliorer je ne suis pas contre
Il fonctionne?
N'est pas lent?
===> Pourquoi le changer...
comment faire pour que les petits tableaux ne soient jamais coupés sur 2 pages lors de l'impression ? Dans ton cas, je ferais une boucle et imprimerais par "sélection" de 5 tableaux (soit 30 lignes).
Du style :
Dim Lign As Integer, DrLign As Integer 'la dernière ligne à imprimer correspond mathématiquement à : 'arrondi supérieur de : (nombre de lignes total/30) * 30 soit en VBA : DrLign = Round(Range("B" & Rows.Count).End(xlUp).Row / 30 + 0.5) * 30 For Lign = 1 To DrLign Step 30 Range("A" & Lign & ":E" & Lign + 29).PrintOut Next--
Cordialement,
Franck P
merci de vosu intéresser à mon sujet.
la macro prend 1s, j'étais simplement curieux de voir comment il aurait pu être écrit.
J'essaie ton code et reviens te dire.
Michel, au départ j'ai la liste sur les 3 colonnes et si tu lances la macro, tu obtiens des dizaines de petits tableaux. c'est là que j'ai besoin que ces petits tableaux ne soient pas coupés
la macro prend 1s, j'étais simplement curieux de voir comment il aurait pu être écrit.
J'essaie ton code et reviens te dire.
Michel, au départ j'ai la liste sur les 3 colonnes et si tu lances la macro, tu obtiens des dizaines de petits tableaux. c'est là que j'ai besoin que ces petits tableaux ne soient pas coupés
pijaku
Messages postés
12263
Date d'inscription
jeudi 15 mai 2008
Statut
Modérateur
Dernière intervention
4 janvier 2024
2 752
Modifié par pijaku le 22/09/2011 à 13:18
Modifié par pijaku le 22/09/2011 à 13:18
j'étais simplement curieux de voir comment il aurait pu être écrit
Alors déjà, commence par appliquer ce que Michel t'as donné comme indication :
pour encadrer
par ex:
Range("A1:C46").borders.weight=xlthin
et pourquoi ne fais tu pas ces encadrements en 1 seule fois ?
Alors déjà, commence par appliquer ce que Michel t'as donné comme indication :
pour encadrer
par ex:
Range("A1:C46").borders.weight=xlthin
et pourquoi ne fais tu pas ces encadrements en 1 seule fois ?
pijaku
Messages postés
12263
Date d'inscription
jeudi 15 mai 2008
Statut
Modérateur
Dernière intervention
4 janvier 2024
2 752
22 sept. 2011 à 13:28
22 sept. 2011 à 13:28
Sisi!
Suffit d'adapter le Range.
En exemple :
Suffit d'adapter le Range.
En exemple :
Range("B1:D5,B7:D11,B13:D17,B19:D23").Borders.Weight = xlThin
22 sept. 2011 à 12:16
Décidément tu es toujours le plus prompt...
Bonne journée