OVH Cloud OVH Cloud

Macro Impression

7 réponses
Avatar
Calimero
Bonjour,

Je sèche sur une macr toute simple d'impression que j'affecte à un bouton ;
j'ai une appli avec 3 classeurs( jours, semaine , mois )
je voudrais qu'en cliquant sur mon bouton l'appli s'enregistre, se ferme et
imprime le classeur en cours.
Pour la fermeture et l'enregistrement je n'ai pas de souci par contre je n
'arrive à faire fermer uniquement le classeur en cours; j'imprime à chaque
fois les 3 classeurs er ça me gêne ; il y a surement une erreur dans ma
macro mais je ne sais pas où.
Voici ce que je fais:

Sub FermerEtSauver()
ThisWorkBook.Save
ThisWorkbook.PrintOut
Application.Quit

End Sub

Où est mon erreur ?
Merci

--
Cordialement
Calimero

7 réponses

Avatar
ru-th
Salut


a priori

Sub FermerEtSauver()
ThisWorkBook.Save
for i=1 to sheets.count
sheets(i).PrintOut
next
Application.Quit
end sub
a+
rural thierry

"Calimero" a écrit dans le message de news:
#
Bonjour,

Je sèche sur une macr toute simple d'impression que j'affecte à un bouton
;

j'ai une appli avec 3 classeurs( jours, semaine , mois )
je voudrais qu'en cliquant sur mon bouton l'appli s'enregistre, se ferme
et

imprime le classeur en cours.
Pour la fermeture et l'enregistrement je n'ai pas de souci par contre je n
'arrive à faire fermer uniquement le classeur en cours; j'imprime à chaque
fois les 3 classeurs er ça me gêne ; il y a surement une erreur dans ma
macro mais je ne sais pas où.
Voici ce que je fais:

Sub FermerEtSauver()
ThisWorkBook.Save
ThisWorkbook.PrintOut
Application.Quit

End Sub

Où est mon erreur ?
Merci

--
Cordialement
Calimero




Avatar
Calimero
Bonjour ru-th

a priori

Sub FermerEtSauver()
ThisWorkBook.Save
for i=1 to sheets.count
sheets(i).PrintOut
next
Application.Quit
end sub


Merci beaucoup; je vais tester
Bonne journée

--
Cordialement
Calimero

Avatar
Calimero
Re,

Je viens de tester mais ça ne fonctionne pas; cela m'imprime les 3 classeurs
l'un derrière l'autre ; or je ne voulais que le classeur en cours, e
nl'occurence celui dans lequel les gens saisissent.

Merci quand même
Bon après midi

--
Cordialement
Calimero





Salut


a priori

Sub FermerEtSauver()
ThisWorkBook.Save
for i=1 to sheets.count
sheets(i).PrintOut
next
Application.Quit
end sub
a+
rural thierry

"Calimero" a écrit dans le message de news:
#
Bonjour,

Je sèche sur une macr toute simple d'impression que j'affecte à un
bouton ; j'ai une appli avec 3 classeurs( jours, semaine , mois )
je voudrais qu'en cliquant sur mon bouton l'appli s'enregistre, se
ferme et imprime le classeur en cours.
Pour la fermeture et l'enregistrement je n'ai pas de souci par
contre je n 'arrive à faire fermer uniquement le classeur en cours;
j'imprime à chaque fois les 3 classeurs er ça me gêne ; il y a
surement une erreur dans ma macro mais je ne sais pas où.
Voici ce que je fais:

Sub FermerEtSauver()
ThisWorkBook.Save
ThisWorkbook.PrintOut
Application.Quit

End Sub

Où est mon erreur ?
Merci

--
Cordialement
Calimero




Avatar
MichDenis
Bonjour Calimero,

Cette macro imprimera toutes les feuilles (de calcul , graphique..) du classeur dans lequel la macro est copiée.

'----------------------------
Sub FermerEtSauver()
Dim Sh as object
with ThisWorkBook
.Save
For Each Sh in .Sheets
Sh.PrintOut
next
End with
Set Sh = Nothing
Application.Quit
End Sub
'----------------------------


Salutations!





"Calimero" a écrit dans le message de news: %

Re,

Je viens de tester mais ça ne fonctionne pas; cela m'imprime les 3 classeurs
l'un derrière l'autre ; or je ne voulais que le classeur en cours, e
nl'occurence celui dans lequel les gens saisissent.

Merci quand même
Bon après midi

--
Cordialement
Calimero





Salut


a priori

Sub FermerEtSauver()
ThisWorkBook.Save
for i=1 to sheets.count
sheets(i).PrintOut
next
Application.Quit
end sub
a+
rural thierry

"Calimero" a écrit dans le message de news:
#
Bonjour,

Je sèche sur une macr toute simple d'impression que j'affecte à un
bouton ; j'ai une appli avec 3 classeurs( jours, semaine , mois )
je voudrais qu'en cliquant sur mon bouton l'appli s'enregistre, se
ferme et imprime le classeur en cours.
Pour la fermeture et l'enregistrement je n'ai pas de souci par
contre je n 'arrive à faire fermer uniquement le classeur en cours;
j'imprime à chaque fois les 3 classeurs er ça me gêne ; il y a
surement une erreur dans ma macro mais je ne sais pas où.
Voici ce que je fais:

Sub FermerEtSauver()
ThisWorkBook.Save
ThisWorkbook.PrintOut
Application.Quit

End Sub

Où est mon erreur ?
Merci

--
Cordialement
Calimero




Avatar
Calimero
Bonjour MichDenis,

Bonjour Calimero,

Cette macro imprimera toutes les feuilles (de calcul , graphique..)
du classeur dans lequel la macro est copiée.

'----------------------------
Sub FermerEtSauver()
Dim Sh as object
with ThisWorkBook
.Save
For Each Sh in .Sheets
Sh.PrintOut
next
End with
Set Sh = Nothing
Application.Quit
End Sub


J'ai essayé de mettre cette macro dans ThisWorkbook puis dans le classeur en
question ( Dans la fenêtre VBA j'ai double Cliqué sur son nom ) et dans tous
les deux cas de figure cela m'imprime les 3 classeurs.
Je débute en macro et je ne l'ai peut être pas mise au bon endroit ?
Je pensais que la macro du classeur devait se mettre endouble cliquant sur
son nom ( en fenêtre vba) ; mais je dit peut être une grosse bêtise ?

Merci
Bien à toi

--
Cordialement
Calimero

Avatar
MichDenis
Bonjour Calimero,

si cette macro que tu as placée dans un module Standard, imprime les feuilles de tous les classeurs ouverts, il va falloir que tu
m'expliques en détail comment tu procèdes... cela risque d'intéresser beaucoup de monde !!! Moi, je demeure bouche bée.

P.S. Si tu veux fermer l'application Excel à la fin de la procédure, il serait peut être approprié d'ajouter quelques lignes de code
pour fermer individuellement chacun des classseur avec la possibilité de sauvegarder tes données ou pas.


Salutations!



"Calimero" a écrit dans le message de news: %
Bonjour MichDenis,

Bonjour Calimero,

Cette macro imprimera toutes les feuilles (de calcul , graphique..)
du classeur dans lequel la macro est copiée.

'----------------------------
Sub FermerEtSauver()
Dim Sh as object
with ThisWorkBook
.Save
For Each Sh in .Sheets
Sh.PrintOut
next
End with
Set Sh = Nothing
Application.Quit
End Sub


J'ai essayé de mettre cette macro dans ThisWorkbook puis dans le classeur en
question ( Dans la fenêtre VBA j'ai double Cliqué sur son nom ) et dans tous
les deux cas de figure cela m'imprime les 3 classeurs.
Je débute en macro et je ne l'ai peut être pas mise au bon endroit ?
Je pensais que la macro du classeur devait se mettre endouble cliquant sur
son nom ( en fenêtre vba) ; mais je dit peut être une grosse bêtise ?

Merci
Bien à toi

--
Cordialement
Calimero

Avatar
Calimero
Bonjour MichDenis

Bonjour Calimero,

si cette macro que tu as placée dans un module Standard, imprime les
feuilles de tous les classeurs ouverts, il va falloir que tu
m'expliques en détail comment tu procèdes... cela risque d'intéresser
beaucoup de monde !!! Moi, je demeure bouche bée.



Eh bien comme je te l'aia dit si j'ai fait une ereur je n'ai pas honte de le
dire .
J'ai une appli avec 3 classeurs ( classeur 1 classeur 2 et classeur 3 )
Quand je suis sur classeur 1, une fois ma saisie finie je click sur mon
bouton et mon appli se ferme bien, s'enregistre bien mais m'imprime les *3*
classeurs.
J'ai ouvert mon classeur 1, fait Alt F11 et dans cette fenêtre Vb sur la
gauche j'ai double cliqué sur Module1 et j'ai collé ta macro que j'avais
copié.
C'est tout ce que j'ai fait
Ayant un doute, j'ai annulé et ai copié/collé cette même macro dans ma
feuille 1 ; mais dans un cas comme dans l'autre, à l'impression ce sont mes
3 classeurs qui sont imprimés et non le classeur 1 tout seul.
Voilà ce que j'ai fait ; je ne doute pas une seconde que j'ai du mal faire
mais je ne sais pas où ?
D' où mon post pour expliquer mon souci

Maintenant si tu me trouve trop nul, ça ne fait rien ; ne me reponds plus et
j'essaierai de me débrouiller comme je peux !


P.S. Si tu veux fermer l'application Excel à la fin de la procédure,
il serait peut être approprié d'ajouter quelques lignes de code pour
fermer individuellement chacun des classseur


Surement mais pour l'instant je n'ai pas de souci pour fermer et enregistrer
mais juste pour imprimer le bon classeur et lui seul......

Bien à toi

--
Cordialement
Calimero