[VBA] Zone d'impression Excel
Résolu/Fermé
Isomer
Messages postés
40
Date d'inscription
mercredi 30 mars 2011
Statut
Membre
Dernière intervention
2 octobre 2011
-
Modifié par Isomer le 12/04/2011 à 17:22
Isomer Messages postés 40 Date d'inscription mercredi 30 mars 2011 Statut Membre Dernière intervention 2 octobre 2011 - 21 avril 2011 à 18:03
Isomer Messages postés 40 Date d'inscription mercredi 30 mars 2011 Statut Membre Dernière intervention 2 octobre 2011 - 21 avril 2011 à 18:03
A voir également:
- [VBA] Zone d'impression Excel
- Spouleur d'impression - Guide
- Zone telechargement - Accueil - Outils
- Liste déroulante excel - Guide
- Si et excel - Guide
- Word et excel gratuit - Guide
22 réponses
lermite222
Messages postés
8724
Date d'inscription
dimanche 8 avril 2007
Statut
Contributeur
Dernière intervention
22 janvier 2020
1 190
12 avril 2011 à 11:33
12 avril 2011 à 11:33
Bonjour,
Il faudrait que tu précise un peu,
Tu met tout sur la même feuille ou bien tu crée une feuille chaque fois que tu a 40 lignes ?
A+
Il faudrait que tu précise un peu,
Tu met tout sur la même feuille ou bien tu crée une feuille chaque fois que tu a 40 lignes ?
A+
Isomer
Messages postés
40
Date d'inscription
mercredi 30 mars 2011
Statut
Membre
Dernière intervention
2 octobre 2011
4
12 avril 2011 à 15:58
12 avril 2011 à 15:58
Bonjour,
Oui excusez moi.
Non, les 5 pages sont sur la même feuille. Quand je parle d'une page, je parle d'un découpage de la sélection d'impression qui est de 1 page en largeur et 1 à 5 pages en longueur.
Besoin d'autres informations ?
Oui excusez moi.
Non, les 5 pages sont sur la même feuille. Quand je parle d'une page, je parle d'un découpage de la sélection d'impression qui est de 1 page en largeur et 1 à 5 pages en longueur.
Besoin d'autres informations ?
lermite222
Messages postés
8724
Date d'inscription
dimanche 8 avril 2007
Statut
Contributeur
Dernière intervention
22 janvier 2020
1 190
Modifié par lermite222 le 14/04/2011 à 13:22
Modifié par lermite222 le 14/04/2011 à 13:22
Oui, avant de cogiter une macro,
Tu à une entête fixe ?
Il n'y a pas d'espace entre tes lignes ?
Et si je comprend bien tu devrais avoir entre disons.. 40 et 200 lignes l'une en dessous de l'autre.
Tu à une entête répétitive ? .. pour comprendre, si tu imprime en "manuel", tu change uniquement la plage d'impression ?
Si c'est comme ça, une macro pour imprimer le nombre de pages utiles n'est pas un problème.
Tu dis.
peut-être avec ce code à adapter...
Si tu te cognes à un pot et que ça sonne creux, c'est pas forcément le pot qui est vide. ;-)(Confucius)
NOTE : Je ne répond pas aux MP pour les questions techniques.
Tu à une entête fixe ?
Il n'y a pas d'espace entre tes lignes ?
Et si je comprend bien tu devrais avoir entre disons.. 40 et 200 lignes l'une en dessous de l'autre.
Tu à une entête répétitive ? .. pour comprendre, si tu imprime en "manuel", tu change uniquement la plage d'impression ?
Si c'est comme ça, une macro pour imprimer le nombre de pages utiles n'est pas un problème.
Tu dis.
peut-être avec ce code à adapter...
Sub PrintDevis() Dim Lig As Integer Const Colonnes = 5 'adater au nombre de colonne Const Ligne1 = 3 'Première ligne où commencer Sheets("feuil1").Select 'adapter le nom de la feuille For Lig = Ligne1 To [C65536].End(xlUp).Row Step 40 ActiveSheet.PageSetup.PrintArea = Range(Cells(Lig, 1), Cells(Lig + 39, Colonnes)).Address ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True Next Lig End Sub
Si tu te cognes à un pot et que ça sonne creux, c'est pas forcément le pot qui est vide. ;-)(Confucius)
NOTE : Je ne répond pas aux MP pour les questions techniques.
Isomer
Messages postés
40
Date d'inscription
mercredi 30 mars 2011
Statut
Membre
Dernière intervention
2 octobre 2011
4
14 avril 2011 à 13:24
14 avril 2011 à 13:24
Bonjour,
Oui j'ai une entête répétitive et un bas de page aussi qui se répète mais donc la valeur total de ma page devis change en fonction des valeurs des lignes des devis, cela va de soit.
Non j'ai pas d'espace entre mes lignes et oui si j'imprime en manuel je change juste la plage d'impression en hauteur (en largeur elle ne bouge jamais).
J'aimerais que ma macro fonctionne comme cela :
Si D100 <>0 alors zone d'impression de A1 à D101
Si D200 <>0 alors zone d'impression de A1 à D201
Etc.
Mes pages sont calibrés de tel sorte que la zone d'impression se calibre comme il le faut. Je ne sais pas si je suis assez clair ^^.
Merci d'avance.
Oui j'ai une entête répétitive et un bas de page aussi qui se répète mais donc la valeur total de ma page devis change en fonction des valeurs des lignes des devis, cela va de soit.
Non j'ai pas d'espace entre mes lignes et oui si j'imprime en manuel je change juste la plage d'impression en hauteur (en largeur elle ne bouge jamais).
J'aimerais que ma macro fonctionne comme cela :
Si D100 <>0 alors zone d'impression de A1 à D101
Si D200 <>0 alors zone d'impression de A1 à D201
Etc.
Mes pages sont calibrés de tel sorte que la zone d'impression se calibre comme il le faut. Je ne sais pas si je suis assez clair ^^.
Merci d'avance.
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
lermite222
Messages postés
8724
Date d'inscription
dimanche 8 avril 2007
Statut
Contributeur
Dernière intervention
22 janvier 2020
1 190
14 avril 2011 à 13:29
14 avril 2011 à 13:29
Up, croisement de poste, regarde mon poste précédant que je viens de mofifier
Isomer
Messages postés
40
Date d'inscription
mercredi 30 mars 2011
Statut
Membre
Dernière intervention
2 octobre 2011
4
14 avril 2011 à 17:31
14 avril 2011 à 17:31
Merci, mais ça me met un message d'erreur.
Erreur d'exécution '9'
L'indice n'appartient pas à la sélection
Que dois-je faire ?
Sinon on peut pas déclencher la zone de sélection lorsque B7 (par exemple est différent de 0 ?
Encore merci :)
Erreur d'exécution '9'
L'indice n'appartient pas à la sélection
Que dois-je faire ?
Sinon on peut pas déclencher la zone de sélection lorsque B7 (par exemple est différent de 0 ?
Encore merci :)
lermite222
Messages postés
8724
Date d'inscription
dimanche 8 avril 2007
Statut
Contributeur
Dernière intervention
22 janvier 2020
1 190
14 avril 2011 à 23:24
14 avril 2011 à 23:24
sur quel ligne ?
ethernel
Messages postés
1
Date d'inscription
jeudi 14 avril 2011
Statut
Membre
Dernière intervention
14 avril 2011
14 avril 2011 à 23:35
14 avril 2011 à 23:35
Bonjour à vous tous,
désolé de vous déranger, mais je galere avec exel, et je suis vraiment nulle sur tout ce qui concerne les macros, Bref..
je souhaiterais recopier des informations d'une feuille à l'autre tout en gardant la même mise en forme, même couleur, même remplissage etc. sur excel 2003.
En fait je voudrais que les infos de la feuille A se retrouve automatiquement dans la feuille B tout en gardant la même couleur de fond, la même police, couleur de police etc. La mise en forme en fait! J'ai des formules du style : « =SI(janvier!C6<>"";janvier!C6;"") » j'ai le bon texte qui se retrouve dans la case (logique) mais la mise en forme, est différente de l'original et je n'arrive pas à garder la mise en forme de la cellule souche...Est-ce possible???
Merci d'avance de vos réponses
NB: cé uuuurgent
désolé de vous déranger, mais je galere avec exel, et je suis vraiment nulle sur tout ce qui concerne les macros, Bref..
je souhaiterais recopier des informations d'une feuille à l'autre tout en gardant la même mise en forme, même couleur, même remplissage etc. sur excel 2003.
En fait je voudrais que les infos de la feuille A se retrouve automatiquement dans la feuille B tout en gardant la même couleur de fond, la même police, couleur de police etc. La mise en forme en fait! J'ai des formules du style : « =SI(janvier!C6<>"";janvier!C6;"") » j'ai le bon texte qui se retrouve dans la case (logique) mais la mise en forme, est différente de l'original et je n'arrive pas à garder la mise en forme de la cellule souche...Est-ce possible???
Merci d'avance de vos réponses
NB: cé uuuurgent
lermite222
Messages postés
8724
Date d'inscription
dimanche 8 avril 2007
Statut
Contributeur
Dernière intervention
22 janvier 2020
1 190
14 avril 2011 à 23:53
14 avril 2011 à 23:53
prochaine fois crée ton topic...
A+
Sub copier() Sheets("Feuil1").Range("A1:C16").Copy 'adapter la plage à copier Sheets("Feuil2").Select Range("A1").Select Selection.PasteSpecial Paste:=xlFormats Selection.PasteSpecial Paste:=xlValues End Sub
A+
Isomer
Messages postés
40
Date d'inscription
mercredi 30 mars 2011
Statut
Membre
Dernière intervention
2 octobre 2011
4
15 avril 2011 à 11:58
15 avril 2011 à 11:58
C'est pas sur une ligne c'est dans VBA lorsque je compile...
lermite222
Messages postés
8724
Date d'inscription
dimanche 8 avril 2007
Statut
Contributeur
Dernière intervention
22 janvier 2020
1 190
Modifié par lermite222 le 15/04/2011 à 12:30
Modifié par lermite222 le 15/04/2011 à 12:30
Bien sur que c'est dans VBA. :-)
Et tu "compile" pas.. tu exécute la macro.
Tu a bien adapter le nom de la feuille ??, remplacer "Feuil1" par le nom de l'onglet.
Et met le code dans un module public, Insertion >> Module
Et pour info, quand tu a un message d'erreur, dans le code il y a une ligne surlignée en jaune... C'est cette ligne là qui est en erreur. Et probablement que c'est la ligne en question qui génère cette erreur.
Si tu te cognes à un pot et que ça sonne creux, c'est pas forcément le pot qui est vide. ;-)(Confucius)
NOTE : Je ne répond pas aux MP pour les questions techniques.
Et tu "compile" pas.. tu exécute la macro.
Tu a bien adapter le nom de la feuille ??, remplacer "Feuil1" par le nom de l'onglet.
Et met le code dans un module public, Insertion >> Module
Et pour info, quand tu a un message d'erreur, dans le code il y a une ligne surlignée en jaune... C'est cette ligne là qui est en erreur. Et probablement que c'est la ligne en question qui génère cette erreur.
Si tu te cognes à un pot et que ça sonne creux, c'est pas forcément le pot qui est vide. ;-)(Confucius)
NOTE : Je ne répond pas aux MP pour les questions techniques.
Isomer
Messages postés
40
Date d'inscription
mercredi 30 mars 2011
Statut
Membre
Dernière intervention
2 octobre 2011
4
Modifié par Isomer le 15/04/2011 à 14:15
Modifié par Isomer le 15/04/2011 à 14:15
Merci beaucoup de votre patience, ça fonctionne bien. Je ne l'avais pas mis dans un module et pas bien mis le nom de la feuil. Et oui la ligne c'est bien surligné en jaune lors du débogage...
Mais... Oui parce qu'il y a un mais....
Actuellement dès que j'active la macro il me lance l'impression 5 ou 6 fois, j'aimerais que la macro se lance avec un bouton et qu'une seule fois si possible.
En tout cas merci infiniment pour votre aide, vous aurez remarqué je ne suis pas très fort en VBA. Enfin on peut pas être bon partout...
Encore merci ! :)
Mais... Oui parce qu'il y a un mais....
Actuellement dès que j'active la macro il me lance l'impression 5 ou 6 fois, j'aimerais que la macro se lance avec un bouton et qu'une seule fois si possible.
En tout cas merci infiniment pour votre aide, vous aurez remarqué je ne suis pas très fort en VBA. Enfin on peut pas être bon partout...
Encore merci ! :)
lermite222
Messages postés
8724
Date d'inscription
dimanche 8 avril 2007
Statut
Contributeur
Dernière intervention
22 janvier 2020
1 190
15 avril 2011 à 15:19
15 avril 2011 à 15:19
Normalement la macro ne s'exécute qu'une seule fois.. c'est que ta façon de la "lancer" n'est pas bonne !!
Pour le faire avec un bouton,
Je vais tout prendre depuis le début ..
Zut, tu n'a pas dis ta version d'Excel, pour éviter de recommencer.. Tu dis.
Version Excel ?
Pour le faire avec un bouton,
Je vais tout prendre depuis le début ..
Zut, tu n'a pas dis ta version d'Excel, pour éviter de recommencer.. Tu dis.
Version Excel ?
Isomer
Messages postés
40
Date d'inscription
mercredi 30 mars 2011
Statut
Membre
Dernière intervention
2 octobre 2011
4
15 avril 2011 à 16:56
15 avril 2011 à 16:56
version 2003
Merci beaucoup !!
Merci beaucoup !!
lermite222
Messages postés
8724
Date d'inscription
dimanche 8 avril 2007
Statut
Contributeur
Dernière intervention
22 janvier 2020
1 190
15 avril 2011 à 17:11
15 avril 2011 à 17:11
OK, avec le > 2003 c'est différent.
Clic sur... Affichage >> Barre d'outils >> Boite à outils controls.
Dans la barre d'outils affichée tu clic sur ..Bouton de commande, dans la feuille Excel tu créer un rectangle qui sera le bouton.
Changer le libellé du bouton, clic droit >> propriétés
Changer le caption par exemple par "Imprimer"
Fermer la fenêtre propriétés. (la croix)
Double clic sur le bouton que tu viens de créer.
Tu arrive dans l'IDE de VBA sur le code de la feuille (l'onglet)
avec un début de code qui devrait ressembler à..
au milieu de ce code tu tape.. PrintDevis pour avoir..
C'est tout.. tu retourne sur Excel, tu clic sur le bouton 'désactiver le mode de création' sur la barre d'outils Contrôle (le triangle bleu,vert)
Et Opppss, c'est terminer.
Clic sur... Affichage >> Barre d'outils >> Boite à outils controls.
Dans la barre d'outils affichée tu clic sur ..Bouton de commande, dans la feuille Excel tu créer un rectangle qui sera le bouton.
Changer le libellé du bouton, clic droit >> propriétés
Changer le caption par exemple par "Imprimer"
Fermer la fenêtre propriétés. (la croix)
Double clic sur le bouton que tu viens de créer.
Tu arrive dans l'IDE de VBA sur le code de la feuille (l'onglet)
avec un début de code qui devrait ressembler à..
Private Sub CommandButton1_Click() End Sub
au milieu de ce code tu tape.. PrintDevis pour avoir..
Private Sub CommandButton1_Click() PrintDevis End Sub
C'est tout.. tu retourne sur Excel, tu clic sur le bouton 'désactiver le mode de création' sur la barre d'outils Contrôle (le triangle bleu,vert)
Et Opppss, c'est terminer.
Isomer
Messages postés
40
Date d'inscription
mercredi 30 mars 2011
Statut
Membre
Dernière intervention
2 octobre 2011
4
15 avril 2011 à 18:37
15 avril 2011 à 18:37
C'est trop cool ^^
Alors l'impression ça va impec sauf que en faites, il m'imprime les feuilles une par une.
Je m'explique si mon devis fait 3 pages il va m'imprimer les 3 pages dans des pdf différents... C'est pour ça les enregistrement successif...
Désolé, je sais que je suis agaçant... :S
Encore merci pour votre aide, merci beaucoup lermite !
NB : Désormais je ne pourrais répondre que lundi ou mardi, donc bon week end :D
Alors l'impression ça va impec sauf que en faites, il m'imprime les feuilles une par une.
Je m'explique si mon devis fait 3 pages il va m'imprimer les 3 pages dans des pdf différents... C'est pour ça les enregistrement successif...
Désolé, je sais que je suis agaçant... :S
Encore merci pour votre aide, merci beaucoup lermite !
NB : Désormais je ne pourrais répondre que lundi ou mardi, donc bon week end :D
lermite222
Messages postés
8724
Date d'inscription
dimanche 8 avril 2007
Statut
Contributeur
Dernière intervention
22 janvier 2020
1 190
15 avril 2011 à 18:51
15 avril 2011 à 18:51
Je m'explique si mon devis fait 3 pages il va m'imprimer les 3 pages dans des pdf
Là je comprend plus..
A la semaine prochaine.
A+
Là je comprend plus..
A la semaine prochaine.
A+
Isomer
Messages postés
40
Date d'inscription
mercredi 30 mars 2011
Statut
Membre
Dernière intervention
2 octobre 2011
4
Modifié par Isomer le 15/04/2011 à 19:04
Modifié par Isomer le 15/04/2011 à 19:04
En faites je suis pas encore parti ^^
Bah lorsque j'imprime mon devis au lieu de m'enregistrer un devis PDF de 3 pages, il m'enregistre le devis page par page dans des PDF différent. C'est à dire j'ai la page 1 de mon devis dans le pdf 1, ma page 2 dans le pdf 2, etc.
Hors j'aimerais avoir mes 3 pages dans le même PDF. C'est plus clair ?
Bah lorsque j'imprime mon devis au lieu de m'enregistrer un devis PDF de 3 pages, il m'enregistre le devis page par page dans des PDF différent. C'est à dire j'ai la page 1 de mon devis dans le pdf 1, ma page 2 dans le pdf 2, etc.
Hors j'aimerais avoir mes 3 pages dans le même PDF. C'est plus clair ?
Isomer
Messages postés
40
Date d'inscription
mercredi 30 mars 2011
Statut
Membre
Dernière intervention
2 octobre 2011
4
21 avril 2011 à 14:10
21 avril 2011 à 14:10
Toujours avec moi ? ^^
lermite222
Messages postés
8724
Date d'inscription
dimanche 8 avril 2007
Statut
Contributeur
Dernière intervention
22 janvier 2020
1 190
21 avril 2011 à 16:46
21 avril 2011 à 16:46
Beh éventuellement, mais là.. je sais plus où j'en suis. C'est quoi cette histoire de PDF ?