OVH Cloud OVH Cloud

Imprimer via VBA

3 réponses
Avatar
RT
Bonjour

Donc, comme décrit précédament, j'ai des boutons sur ma feuille "inputs"


Ces boutons active une macro

Cette macro me séléctionne une serie de cellules, les copie et les colle
dans une autre serie de cellule

Sur la feuille "Labels to print" les cellules réagisent automatiquement
comme les cellules de la feuille 'inputs" sont changées

Dans ma macro (enregistrée) je fais imprimer la feuille "Labels to print" et
cela fonctionne très bien, merci pour elle

Ce que je voudrais maintenant c'est "professionaliser" un peu la procédure
en même temps que d'apprendre à controler un peu plus VBA
(tout le plaisir est là, non?)

Primo je voudrais insérer un "dialog box" qui demande si on est sûr de
vouloir imprimer et d'insérer le papier adéquat et de cliquer sur "OK" ou
"Cancel"

Et que la sélection de la page et l'impression ce passe de façon invisible

Est-ce que je suis assez claire?

Voici ce que j'ai comme code jusqu'a présent

______________________________________________________________________
Private Sub cmdILS_Click()

' *****************************************************************
' Copies all info for ILS into the label base cells and prints one page
' ******************************************************************

Range("C16:C20").Select
Selection.Copy
Range("A1:A5").Select
Selection.PasteSpecial Paste:=xlAll, Paste:=xlFormats
Application.CutCopyMode = False
Application.CommandBars("Visual Basic").Visible = True
Sheets("Labels to print").Select
ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True
Sheets("inputs").Select

End Sub
__________________________________________________________________________

Tout coup de pieds dans la bonne direction serait appréciée à sa juste
valeur

Merci

Rex

3 réponses

Avatar
Nicolas B.
Salut Rex,

Essaie ça :
Private Sub cmdILS_Click()

' *****************************************************************
' Copies all info for ILS into the label base cells and prints one page
' ******************************************************************

Range("C16:C20").Copy
Range("A1:A5").PasteSpecial Paste:=xlAll, Paste:=xlFormats
Application.CutCopyMode = False
If MsgBox("Voulez-vous imprimer ?", vbYesNo) = vbYes Then _
Sheets("Labels to print").PrintOut Copies:=1, Collate:=True

End Sub


A+
Nicolas B.


RT wrote:
Bonjour

Donc, comme décrit précédament, j'ai des boutons sur ma feuille "inputs"


Ces boutons active une macro

Cette macro me séléctionne une serie de cellules, les copie et les colle
dans une autre serie de cellule

Sur la feuille "Labels to print" les cellules réagisent automatiquement
comme les cellules de la feuille 'inputs" sont changées

Dans ma macro (enregistrée) je fais imprimer la feuille "Labels to print" et
cela fonctionne très bien, merci pour elle

Ce que je voudrais maintenant c'est "professionaliser" un peu la procédure
en même temps que d'apprendre à controler un peu plus VBA
(tout le plaisir est là, non?)

Primo je voudrais insérer un "dialog box" qui demande si on est sûr de
vouloir imprimer et d'insérer le papier adéquat et de cliquer sur "OK" ou
"Cancel"

Et que la sélection de la page et l'impression ce passe de façon invisible

Est-ce que je suis assez claire?

Voici ce que j'ai comme code jusqu'a présent

______________________________________________________________________
Private Sub cmdILS_Click()

' *****************************************************************
' Copies all info for ILS into the label base cells and prints one page
' ******************************************************************

Range("C16:C20").Select
Selection.Copy
Range("A1:A5").Select
Selection.PasteSpecial Paste:=xlAll, Paste:=xlFormats
Application.CutCopyMode = False
Application.CommandBars("Visual Basic").Visible = True
Sheets("Labels to print").Select
ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True
Sheets("inputs").Select

End Sub
__________________________________________________________________________

Tout coup de pieds dans la bonne direction serait appréciée à sa juste
valeur

Merci

Rex





Avatar
JF
Salut RT,

essaie tout simplement :

Application.Dialogs(xlDialogPrint).Show

-----Message d'origine-----
Bonjour

Donc, comme décrit précédament, j'ai des boutons sur ma
feuille "inputs"



Ces boutons active une macro

Cette macro me séléctionne une serie de cellules, les
copie et les colle

dans une autre serie de cellule

Sur la feuille "Labels to print" les cellules réagisent
automatiquement

comme les cellules de la feuille 'inputs" sont changées

Dans ma macro (enregistrée) je fais imprimer la
feuille "Labels to print" et

cela fonctionne très bien, merci pour elle

Ce que je voudrais maintenant c'est "professionaliser"
un peu la procédure

en même temps que d'apprendre à controler un peu plus VBA
(tout le plaisir est là, non?)

Primo je voudrais insérer un "dialog box" qui demande si
on est sûr de

vouloir imprimer et d'insérer le papier adéquat et de
cliquer sur "OK" ou

"Cancel"

Et que la sélection de la page et l'impression ce passe
de façon invisible


Est-ce que je suis assez claire?

Voici ce que j'ai comme code jusqu'a présent

_________________________________________________________
_____________

Private Sub cmdILS_Click()

'
**********************************************************

*******
' Copies all info for ILS into the label base cells and
prints one page

'
**********************************************************

********

Range("C16:C20").Select
Selection.Copy
Range("A1:A5").Select
Selection.PasteSpecial Paste:=xlAll, Paste:=xlFormats
Application.CutCopyMode = False
Application.CommandBars("Visual Basic").Visible =
True

Sheets("Labels to print").Select
ActiveWindow.SelectedSheets.PrintOut Copies:=1,
Collate:=True

Sheets("inputs").Select

End Sub
_________________________________________________________
_________________


Tout coup de pieds dans la bonne direction serait
appréciée à sa juste

valeur

Merci

Rex



.



Avatar
RT
Bonjour

Oui ça fonctionne
Mais, petit souci

Quand je click sur "oui" il saute sur la feuille qu'il imprime pendant une
seconde et ça ne fait pas trop proffessionel
Mais ça fonctionne et je te remercie de ton aide

Rex

"Nicolas B." wrote in message
news:
Salut Rex,

Essaie ça :
Private Sub cmdILS_Click()

' *****************************************************************
' Copies all info for ILS into the label base cells and prints one page
' ******************************************************************

Range("C16:C20").Copy
Range("A1:A5").PasteSpecial Paste:=xlAll, Paste:=xlFormats
Application.CutCopyMode = False
If MsgBox("Voulez-vous imprimer ?", vbYesNo) = vbYes Then _
Sheets("Labels to print").PrintOut Copies:=1, Collate:=True

End Sub


A+
Nicolas B.


RT wrote:
Bonjour

Donc, comme décrit précédament, j'ai des boutons sur ma feuille "inputs"


Ces boutons active une macro

Cette macro me séléctionne une serie de cellules, les copie et les
colle


dans une autre serie de cellule

Sur la feuille "Labels to print" les cellules réagisent automatiquement
comme les cellules de la feuille 'inputs" sont changées

Dans ma macro (enregistrée) je fais imprimer la feuille "Labels to
print" et


cela fonctionne très bien, merci pour elle

Ce que je voudrais maintenant c'est "professionaliser" un peu la
procédure


en même temps que d'apprendre à controler un peu plus VBA
(tout le plaisir est là, non?)

Primo je voudrais insérer un "dialog box" qui demande si on est sûr de
vouloir imprimer et d'insérer le papier adéquat et de cliquer sur "OK"
ou


"Cancel"

Et que la sélection de la page et l'impression ce passe de façon
invisible



Est-ce que je suis assez claire?

Voici ce que j'ai comme code jusqu'a présent

______________________________________________________________________
Private Sub cmdILS_Click()

' *****************************************************************
' Copies all info for ILS into the label base cells and prints one page
' ******************************************************************

Range("C16:C20").Select
Selection.Copy
Range("A1:A5").Select
Selection.PasteSpecial Paste:=xlAll, Paste:=xlFormats
Application.CutCopyMode = False
Application.CommandBars("Visual Basic").Visible = True
Sheets("Labels to print").Select
ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True
Sheets("inputs").Select

End Sub

__________________________________________________________________________



Tout coup de pieds dans la bonne direction serait appréciée à sa juste
valeur

Merci

Rex