Excel. Probleme Macro / Impression
Résolu/Fermé
A voir également:
- Excel. Probleme Macro / Impression
- Spouleur d'impression - Guide
- Telecharger macro convertir chiffre en lettre excel - Télécharger - Tableur
- Liste déroulante excel - Guide
- Si et excel - Guide
- Aller à la ligne excel - Guide
22 réponses
xkristi
Messages postés
4264
Date d'inscription
lundi 18 décembre 2006
Statut
Membre
Dernière intervention
19 août 2022
564
18 oct. 2007 à 09:09
18 oct. 2007 à 09:09
Salut !
une macro avec :
ActiveWorkbook.PrintOut From:=4, To:=4, Copies:=1, Collate:=True
tu vas dans : outils nouvelle macro
puis fichier , imprimer de la page 4 à la page 4
coches "tout le classeur"
n'oublie d'arrêter la macro !
une macro avec :
ActiveWorkbook.PrintOut From:=4, To:=4, Copies:=1, Collate:=True
tu vas dans : outils nouvelle macro
puis fichier , imprimer de la page 4 à la page 4
coches "tout le classeur"
n'oublie d'arrêter la macro !
pour répondre à la question 11
je te propose un truc simple : il t'imprime le no de la page que tu lui indiques dans la case A1 de la 1ère feuille
pour ce faire:
1) remplace le code que je t'ai donné par celui-là:
Sub imprim_page_no()
Dim no, i
Sheets(1).Activate
no = Range("A1").Value
For i = 1 To Sheets.Count
With Sheets(i)
.PrintOut From:=no, To:=no
End With
Next i
End Sub
2) reviens à ton classeur et saisi le No de la page que tu veux imprimer (2 par exemple) dans la cellule A1 de la 1ère feuille
3) lance la macro
=> il t'imprime les pages no 2 de chaque feuille
si tu veux imprimer des autres pages, tu n'as qu'à changer la valeur de la cellule A1 et relancer la macro!
jespère que ça t'aidera
atonservice
PS : si ça n'est pas possible de saisir le chiffre en A1, tu peux lui indiquer une autre cellule en remplaçant le "A1" dans Range("A1") par l'adresse de la cellule ou se trouve le chiffre à prendre en compte
je te propose un truc simple : il t'imprime le no de la page que tu lui indiques dans la case A1 de la 1ère feuille
pour ce faire:
1) remplace le code que je t'ai donné par celui-là:
Sub imprim_page_no()
Dim no, i
Sheets(1).Activate
no = Range("A1").Value
For i = 1 To Sheets.Count
With Sheets(i)
.PrintOut From:=no, To:=no
End With
Next i
End Sub
2) reviens à ton classeur et saisi le No de la page que tu veux imprimer (2 par exemple) dans la cellule A1 de la 1ère feuille
3) lance la macro
=> il t'imprime les pages no 2 de chaque feuille
si tu veux imprimer des autres pages, tu n'as qu'à changer la valeur de la cellule A1 et relancer la macro!
jespère que ça t'aidera
atonservice
PS : si ça n'est pas possible de saisir le chiffre en A1, tu peux lui indiquer une autre cellule en remplaçant le "A1" dans Range("A1") par l'adresse de la cellule ou se trouve le chiffre à prendre en compte
eriiic
Messages postés
24603
Date d'inscription
mardi 11 septembre 2007
Statut
Contributeur
Dernière intervention
15 décembre 2024
7 247
18 oct. 2007 à 12:10
18 oct. 2007 à 12:10
Bonjour et bravo à xkristi :-)
xkristi
Messages postés
4264
Date d'inscription
lundi 18 décembre 2006
Statut
Membre
Dernière intervention
19 août 2022
564
18 oct. 2007 à 12:19
18 oct. 2007 à 12:19
Salut Eriiic
Merci pour ton bravo
mais c'était si peu de chose comparé aux macros plus compliquées que tu écris ...
Merci pour ton bravo
mais c'était si peu de chose comparé aux macros plus compliquées que tu écris ...
Bonjour,
J'ai essayé la solution de la macro, hélas, ca ne m'imprime que la feuille 4 à l'écran...
Par contre je n'ai pas "tout le classeur" mais "classuer entier"... je pense que c'est la meme chose.
Merci de votre aide
J'ai essayé la solution de la macro, hélas, ca ne m'imprime que la feuille 4 à l'écran...
Par contre je n'ai pas "tout le classeur" mais "classuer entier"... je pense que c'est la meme chose.
Merci de votre aide
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
xkristi
Messages postés
4264
Date d'inscription
lundi 18 décembre 2006
Statut
Membre
Dernière intervention
19 août 2022
564
29 oct. 2007 à 13:07
29 oct. 2007 à 13:07
Bonjour !
J'ai mal compris ta demande
dans un classeur , il n'y a qu'une feuille nommée feuille 4
et je pensais que tu voulais imprimer celle-là !!!
J'ai mal compris ta demande
dans un classeur , il n'y a qu'une feuille nommée feuille 4
et je pensais que tu voulais imprimer celle-là !!!
Bonjour,
Je me suis peut etre mal exprimé.
c'est la page 4 (par exemple) de chaque feuille du classeur que je veux imprimer.... (sachant que les feuilles vont et viennent dans ce classeur).
merci d'vaance
Je me suis peut etre mal exprimé.
c'est la page 4 (par exemple) de chaque feuille du classeur que je veux imprimer.... (sachant que les feuilles vont et viennent dans ce classeur).
merci d'vaance
xkristi
Messages postés
4264
Date d'inscription
lundi 18 décembre 2006
Statut
Membre
Dernière intervention
19 août 2022
564
29 oct. 2007 à 14:55
29 oct. 2007 à 14:55
Bonjour !
en fait il te faut pour chacune des feuilles définir la zone d'impressionsoit tu fais aperçu des sautes de page
tu sélectionnes les cellules de la page
puis fichier , zone d'impression , définir
ensuite quand feras imprimer
le système n'imprimera que les zones sélectionnées pour chacune des feuilles
et dans ce cas, pas besoin de macro
se traduit en macro par :
Sheets("Feuil1").Select
ActiveSheet.PageSetup.PrintArea = "$A$55:$D$108"
Sheets("Feuil2").Select
Range("A55:B108").Select
ActiveSheet.PageSetup.PrintArea = "$A$55:$B$108"
Sheets("Feuil4").Select
Range("A55:B108").Select
ActiveSheet.PageSetup.PrintArea = "$A$55:$B$108"
Sheets("Feuil3").Select
Range("A55:A67").Select
ActiveSheet.PageSetup.PrintArea = "$A$55:$A$67"
Range("E69").Select
en fait il te faut pour chacune des feuilles définir la zone d'impressionsoit tu fais aperçu des sautes de page
tu sélectionnes les cellules de la page
puis fichier , zone d'impression , définir
ensuite quand feras imprimer
le système n'imprimera que les zones sélectionnées pour chacune des feuilles
et dans ce cas, pas besoin de macro
se traduit en macro par :
Sheets("Feuil1").Select
ActiveSheet.PageSetup.PrintArea = "$A$55:$D$108"
Sheets("Feuil2").Select
Range("A55:B108").Select
ActiveSheet.PageSetup.PrintArea = "$A$55:$B$108"
Sheets("Feuil4").Select
Range("A55:B108").Select
ActiveSheet.PageSetup.PrintArea = "$A$55:$B$108"
Sheets("Feuil3").Select
Range("A55:A67").Select
ActiveSheet.PageSetup.PrintArea = "$A$55:$A$67"
Range("E69").Select
Bonjour,
sinon, si tu connais le no de page que tu veux imprimer et que celui-ci ne change pas d'une feuille à la suivante, copie le code si dessous dans l'éditeur Macros (ALT+F11)
jai testé ça marche chez moi
(attention la macro plante si 'nb de pages d'une feuille < no page que tu veux imprimer', c'est à dire si tu lui demandes d'imprimer une page qui n'existe pas !)
________________________________________________________________
sub imprim_page_no ()
dim nb_de_feuilles
nb_de_feuilles = activeworkbook.sheets.count 'compte le nombre de feuille dans le classeur en cours
'impression de la page 4 de chaque feuille du classeur
for i=1 to nb_de_feuilles
sheets(i).select
Activesheet.PrintOut From:=4, To:=4, Copies:=1, Collate:=True
next
end sub
__________________________________________
si tu veux imprimer un autre no de page que le 4, tu n'as qu'à changer le chiffre dans From:=4, To:=4, . :)
PS : pour aller plus loin, il est même possible de lancer une interface qui te permettrait d'indiquer le no de la page à imprimer si ça t'intéresse
atonservice
sinon, si tu connais le no de page que tu veux imprimer et que celui-ci ne change pas d'une feuille à la suivante, copie le code si dessous dans l'éditeur Macros (ALT+F11)
jai testé ça marche chez moi
(attention la macro plante si 'nb de pages d'une feuille < no page que tu veux imprimer', c'est à dire si tu lui demandes d'imprimer une page qui n'existe pas !)
________________________________________________________________
sub imprim_page_no ()
dim nb_de_feuilles
nb_de_feuilles = activeworkbook.sheets.count 'compte le nombre de feuille dans le classeur en cours
'impression de la page 4 de chaque feuille du classeur
for i=1 to nb_de_feuilles
sheets(i).select
Activesheet.PrintOut From:=4, To:=4, Copies:=1, Collate:=True
next
end sub
__________________________________________
si tu veux imprimer un autre no de page que le 4, tu n'as qu'à changer le chiffre dans From:=4, To:=4, . :)
PS : pour aller plus loin, il est même possible de lancer une interface qui te permettrait d'indiquer le no de la page à imprimer si ça t'intéresse
atonservice
Bonjour,
Ca m'a l'air pas mal du tout comme solution, mais au niveau macro je suis limité à enregistrer une macro. Quand il faut la créer comme tu me le demande je sais pas faire.
En faisant alt+f11, une grande page grise s'affiche... ensuite?
Merci d'avance
Ca m'a l'air pas mal du tout comme solution, mais au niveau macro je suis limité à enregistrer une macro. Quand il faut la créer comme tu me le demande je sais pas faire.
En faisant alt+f11, une grande page grise s'affiche... ensuite?
Merci d'avance
Bonjour,
ok alors dans la "grande page" (lol)
1) tu vas dans le menu "insertion", tu cliques sur "module"
une fenêtre, telle que celle ci, s'ouvre :
2) tu colles le code dans la partie de droite (juste en dessous des listes "Général" et "Déclarations").
3) tu reviens à ta feuille excel. la macro "imprim_page_no" figure maintenant dans la liste des macros (Menu Outils->Macro->Macros)
tu n'as plus qu'à l'exécuter pour voir ce que ça donne
ok alors dans la "grande page" (lol)
1) tu vas dans le menu "insertion", tu cliques sur "module"
une fenêtre, telle que celle ci, s'ouvre :
http://www.fabnet.ch/cours_vb/environ2.PNG,
2) tu colles le code dans la partie de droite (juste en dessous des listes "Général" et "Déclarations").
3) tu reviens à ta feuille excel. la macro "imprim_page_no" figure maintenant dans la liste des macros (Menu Outils->Macro->Macros)
tu n'as plus qu'à l'exécuter pour voir ce que ça donne
Bonjour,
Ca marche Nickel!!!
Maintenan,t si ca te derange pas ca m'interesse beaucoup ton ->
"PS : pour aller plus loin, il est même possible de lancer une interface qui te permettrait d'indiquer le no de la page à imprimer si ça t'intéresse "
En prenant en compte omn trés modeste niveau ;-)
(Pour l'instant il me faudra imprimer d'abord toutes les pages 2, puis plus tard toutes les pages 3... et ainsi jusqu'a 13.)
Ca marche Nickel!!!
Maintenan,t si ca te derange pas ca m'interesse beaucoup ton ->
"PS : pour aller plus loin, il est même possible de lancer une interface qui te permettrait d'indiquer le no de la page à imprimer si ça t'intéresse "
En prenant en compte omn trés modeste niveau ;-)
(Pour l'instant il me faudra imprimer d'abord toutes les pages 2, puis plus tard toutes les pages 3... et ainsi jusqu'a 13.)
jvais voir ce que jpeux faire pcq on arrive vite à des usines à gaz, qui dès qu'on modifie le moindre truc il faut tout refaire...
jregarde après manger ^^P
jregarde après manger ^^P
Bonjour,
C'est encore moi.
Dans le meme ordre d'idée : "Excel devine le nombre de feuille qu'il y a et effectue la meme operation dans chaque feuille"
-> Serait il possible dans une feuille supplementaire de créer une macro ayant pour mission de "recuperer toutes les données de A6(par exemple) de chaque feuille du classeur"
En esperant avoir été clair....
Merci d'avance
C'est encore moi.
Dans le meme ordre d'idée : "Excel devine le nombre de feuille qu'il y a et effectue la meme operation dans chaque feuille"
-> Serait il possible dans une feuille supplementaire de créer une macro ayant pour mission de "recuperer toutes les données de A6(par exemple) de chaque feuille du classeur"
En esperant avoir été clair....
Merci d'avance
Bonjour,
Un grand merci. j'avais pas vu ton message precedent! Mais bon l'interface c'est idéal. ta solution de acros me convient parfaitement.
Concernant mon post suivant :
Pour t'eclaircir une page correspond à un mois.
C'est à dire que la page 2 corresopnd au mois de novembre pour chaque personne du groupe.
Cette page comprend les stats du mois (entrés).
C'est donc c'est stats que je dois recapituler dans un tableau regroupant toutes les personnes du groupe.
LA difficulté etant que de temps en temps une personne nouvelle arrive dans le groupe et que d'autres passent d'un gropupe à l'autre...
merci
Un grand merci. j'avais pas vu ton message precedent! Mais bon l'interface c'est idéal. ta solution de acros me convient parfaitement.
Concernant mon post suivant :
Pour t'eclaircir une page correspond à un mois.
C'est à dire que la page 2 corresopnd au mois de novembre pour chaque personne du groupe.
Cette page comprend les stats du mois (entrés).
C'est donc c'est stats que je dois recapituler dans un tableau regroupant toutes les personnes du groupe.
LA difficulté etant que de temps en temps une personne nouvelle arrive dans le groupe et que d'autres passent d'un gropupe à l'autre...
merci
c un tableau qui sert à synthétiser des données de plusieurs feuilles
ça se met à jour les valeurs à chaque fois qu'elles changent (d'ou le terme dynamique)
tu fais Menu->données->rapport de tableau croisé dynamique
ça se met à jour les valeurs à chaque fois qu'elles changent (d'ou le terme dynamique)
tu fais Menu->données->rapport de tableau croisé dynamique
Bonjour,
Bonjour,
Merci pour vos aides.
Le tableau croisé dynamique ca va aps convenir a mon avis mais j'ai regler le probleme d'impression!
Bonjour,
Merci pour vos aides.
Le tableau croisé dynamique ca va aps convenir a mon avis mais j'ai regler le probleme d'impression!
avotreservice
Messages postés
5
Date d'inscription
mercredi 31 octobre 2007
Statut
Membre
Dernière intervention
7 novembre 2007
7 nov. 2007 à 10:39
7 nov. 2007 à 10:39
eske la solution 18 te convient?