Bonjour à tous, et merci pour ce chouette forum qui m'a déjà aidé plusieurs fois lorsque j'étais bloqué sur Excel !
Je me suis récemment inscrit car cette fois-ci, je n'ai pas trouvé de solution à mon problème, j'espère qu'ensemble nous y arriverons
je vais essayer d'être le plus précis possible, et le plus synthétique pour ne pas vous faire perdre trop de temps...
Préambule :
Je travaille pour une grande collectivité territoriale (ça, c'est la classe ) mais qui tourne encore sous Windows XP avec Excel 2002 (ça, c'est moins classe... ).
Les faits :
Le classeur excel sur lequel je travaille contient énormément d'onglets (=feuilles), mais seul un échantillon (les 17 premiers plus exactement) sont destinés à être imprimés.
Mon objectif :
Créer un bouton lié à une macro Visual Basic dans la première feuille du classeur, qui lancera l'impression des 17 qui m'intéressent, ceci en couleur et recto/verso.
Le recto/verso je le souhaite au sein d'une même feuille, mais pas entre feuille, c'est-à-dire que si mon 1er onglet tient sur 1 page et le second sur 2, à l'impression je veux Recto1 : texte, Verso 1 : blanc, Recto 2 : texte, Verso 2 : texte ; et pas Recto 1 : texte, Verso 1 : texte, Recto 2 : texte, Verso 2 : blanc.
Mon problème :
Je débute encore un peu sur les Macros, même si pour l'instant j'ai bien compris les bases.
Je suis arrivé à faire un bouton lié à une macro déclanchant l'impression avec le recto/verso comme je le souhaite, mais pas la couleur !
Mon ordinateur est relié à deux imprimantes : une qui ne fait que du N&B (à laquelle je suis lié par défaut), et une qui fait N&B et Couleurs à laquelle je peux me relier en la sélectionnant au moment de l'impression, mais l'imprimante elle-même est paramétrée par défaut en N&B (par soucis d'écologie...) ! Pour mes documents, je dois sélectionner "en couleurs" manuellement à chaque fois.
J'ai essayé d'enregistrer une macro en faisant l'action de passer en couleur l'impression de chaque onglet en lançant l'impression ensuite, mais cette action n'est pas enregistré par Visual Basic.
Mon encodage Visual Basic actuel :
Sub Imprimer()
Application.ActivePrinter = "\\RRAS172\P0118 sur Ne02:"
With ActiveSheet
Sheets("Animaux").Activate
ActiveWindow.SelectedSheets.PrintOut
Sheets("Boissons").Activate
ActiveWindow.SelectedSheets.PrintOut
Sheets("Savoie").Activate
ActiveWindow.SelectedSheets.PrintOut
End With
End Sub
La P0118 est l'imprimante qui peut faire couleur mais qui est paramétré par défaut en N&B.
Les 3 onglets sont en fait sur un classeur-test que j'ai créer pour chercher une solution.
Help ! I need somebody. Help, not just anybody. Help, you know, I need someone. Vous êtes mon dernier espoir !
- - -
J'y suis enfin arrivé, mais j'ai tellement honte de la simplicité de la solution que j'ai envie de me cacher.
Ca n'était pas l'imprimante qui était paramétrée par défaut sur "N&B", mais ce sont tous les postes de la collectivité qui sont paramétrés sur "N&B". Ce qu'on m'avait dit c'est que ce ne pouvait pas être changé à cause de la politique "écologique" et qu'il appartenait à la direction des services informatiques d'en décider, alors qu'en fait une bête manip' dans les paramètres de périphériques me permet de le faire pour mon poste !
J'en ai profité pour optimiser mon code :
Sub Imprimer()
Application.ActivePrinter = "\\RRAS172\P0118 sur Ne02:"
With ActiveSheet
Dim i As Integer
Sheets("Animaux").Activate
i = 0
For i = 0 To 3 Step 1
ActiveWindow.SelectedSheets.PrintOut
ActiveSheet.Next.Activate
Next i
End With
End Sub
J'ai plus qu'à appliquer à mon fichier réel et c'est bon. Merci à ceux qui ont tout de même lu mon post ! Vous pouvez clôturer ce sujet...
Je me suis récemment inscrit car cette fois-ci, je n'ai pas trouvé de solution à mon problème, j'espère qu'ensemble nous y arriverons
je vais essayer d'être le plus précis possible, et le plus synthétique pour ne pas vous faire perdre trop de temps...
Préambule :
Je travaille pour une grande collectivité territoriale (ça, c'est la classe ) mais qui tourne encore sous Windows XP avec Excel 2002 (ça, c'est moins classe... ).
Les faits :
Le classeur excel sur lequel je travaille contient énormément d'onglets (=feuilles), mais seul un échantillon (les 17 premiers plus exactement) sont destinés à être imprimés.
Mon objectif :
Créer un bouton lié à une macro Visual Basic dans la première feuille du classeur, qui lancera l'impression des 17 qui m'intéressent, ceci en couleur et recto/verso.
Le recto/verso je le souhaite au sein d'une même feuille, mais pas entre feuille, c'est-à-dire que si mon 1er onglet tient sur 1 page et le second sur 2, à l'impression je veux Recto1 : texte, Verso 1 : blanc, Recto 2 : texte, Verso 2 : texte ; et pas Recto 1 : texte, Verso 1 : texte, Recto 2 : texte, Verso 2 : blanc.
Mon problème :
Je débute encore un peu sur les Macros, même si pour l'instant j'ai bien compris les bases.
Je suis arrivé à faire un bouton lié à une macro déclanchant l'impression avec le recto/verso comme je le souhaite, mais pas la couleur !
Mon ordinateur est relié à deux imprimantes : une qui ne fait que du N&B (à laquelle je suis lié par défaut), et une qui fait N&B et Couleurs à laquelle je peux me relier en la sélectionnant au moment de l'impression, mais l'imprimante elle-même est paramétrée par défaut en N&B (par soucis d'écologie...) ! Pour mes documents, je dois sélectionner "en couleurs" manuellement à chaque fois.
J'ai essayé d'enregistrer une macro en faisant l'action de passer en couleur l'impression de chaque onglet en lançant l'impression ensuite, mais cette action n'est pas enregistré par Visual Basic.
Mon encodage Visual Basic actuel :
Sub Imprimer()
Application.ActivePrinter = "\\RRAS172\P0118 sur Ne02:"
With ActiveSheet
Sheets("Animaux").Activate
ActiveWindow.SelectedSheets.PrintOut
Sheets("Boissons").Activate
ActiveWindow.SelectedSheets.PrintOut
Sheets("Savoie").Activate
ActiveWindow.SelectedSheets.PrintOut
End With
End Sub
La P0118 est l'imprimante qui peut faire couleur mais qui est paramétré par défaut en N&B.
Les 3 onglets sont en fait sur un classeur-test que j'ai créer pour chercher une solution.
Help ! I need somebody. Help, not just anybody. Help, you know, I need someone. Vous êtes mon dernier espoir !
- - -
J'y suis enfin arrivé, mais j'ai tellement honte de la simplicité de la solution que j'ai envie de me cacher.
Ca n'était pas l'imprimante qui était paramétrée par défaut sur "N&B", mais ce sont tous les postes de la collectivité qui sont paramétrés sur "N&B". Ce qu'on m'avait dit c'est que ce ne pouvait pas être changé à cause de la politique "écologique" et qu'il appartenait à la direction des services informatiques d'en décider, alors qu'en fait une bête manip' dans les paramètres de périphériques me permet de le faire pour mon poste !
J'en ai profité pour optimiser mon code :
Sub Imprimer()
Application.ActivePrinter = "\\RRAS172\P0118 sur Ne02:"
With ActiveSheet
Dim i As Integer
Sheets("Animaux").Activate
i = 0
For i = 0 To 3 Step 1
ActiveWindow.SelectedSheets.PrintOut
ActiveSheet.Next.Activate
Next i
End With
End Sub
J'ai plus qu'à appliquer à mon fichier réel et c'est bon. Merci à ceux qui ont tout de même lu mon post ! Vous pouvez clôturer ce sujet...
Dernière édition: