Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Pb boite de dialogue impression

4 réponses
Avatar
Sunburn
Bonjour,
j'ai un soucis.
ma macro pour imprimer des pages me joue des tours.
En effet, je souhaite choisir l'imprimante sur laquelle mes feuilles vont
s'imprimer.
j'utilise Application.Dialogs(xlDialogPrinterSetup).Show

Mais le hic, c'est que je fais un test sur chaque feuille pour savoir si
elle est imprimable ou pas. (en fonction du "NA" qui est du texte).
Donc y-a-t-il un moyen pour que cette boite de dialogue (ou une autre qui me
donne le choix de l'imprimante uniquement) ne s'affiche qu'une fois ?
Merci de votre aide. YANN
---
Case "impression teste"
'Imprime de la page 13 à la dernière page
NP = Worksheets.Count
For i = 13 To NP
Set Sh = Sheets(i)
If Not UCase(Trim(Sh.Cells(4, 1).Value)) = "NA" Then
Debug.Print Sh.Name
memVisible = Sh.Visible
Sh.Visible = True
Application.Dialogs(xlDialogPrinterSetup).Show
Sh.PrintOut
Sh.Visible = memVisible
End If
Next
----

4 réponses

Avatar
Daniel.C
Bonjour.
Application.Dialogs(xlDialogPrinterSetup).Show
For i = 13 To NP
Set Sh = Sheets(i)
If Not UCase(Trim(Sh.Cells(4, 1).Value)) = "NA" Then
Debug.Print Sh.Name
memVisible = Sh.Visible
Sh.Visible = True
Sh.PrintOut
Sh.Visible = memVisible
End If
Next

End Sub
Daniel

Bonjour,
j'ai un soucis.
ma macro pour imprimer des pages me joue des tours.
En effet, je souhaite choisir l'imprimante sur laquelle mes feuilles vont
s'imprimer.
j'utilise Application.Dialogs(xlDialogPrinterSetup).Show

Mais le hic, c'est que je fais un test sur chaque feuille pour savoir si
elle est imprimable ou pas. (en fonction du "NA" qui est du texte).
Donc y-a-t-il un moyen pour que cette boite de dialogue (ou une autre qui me
donne le choix de l'imprimante uniquement) ne s'affiche qu'une fois ?
Merci de votre aide. YANN
---
Case "impression teste"
'Imprime de la page 13 à la dernière page
NP = Worksheets.Count
For i = 13 To NP
Set Sh = Sheets(i)
If Not UCase(Trim(Sh.Cells(4, 1).Value)) = "NA" Then
Debug.Print Sh.Name
memVisible = Sh.Visible
Sh.Visible = True
Application.Dialogs(xlDialogPrinterSetup).Show
Sh.PrintOut
Sh.Visible = memVisible
End If
Next
----


Avatar
Sunburn
Bonjour Daniel,
et oui tout bête !! je l'avais bien bougé, mais j'ai pas essayé au tout
début, toujours après le If.....
mais bon, merci, et je m'en rappèlerais, j'esayerais toujours plus haut
avant de demander de l'aide .... :°)
YANN

"Daniel.C" a écrit :

Bonjour.
Application.Dialogs(xlDialogPrinterSetup).Show
For i = 13 To NP
Set Sh = Sheets(i)
If Not UCase(Trim(Sh.Cells(4, 1).Value)) = "NA" Then
Debug.Print Sh.Name
memVisible = Sh.Visible
Sh.Visible = True
Sh.PrintOut
Sh.Visible = memVisible
End If
Next

End Sub
Daniel

> Bonjour,
> j'ai un soucis.
> ma macro pour imprimer des pages me joue des tours.
> En effet, je souhaite choisir l'imprimante sur laquelle mes feuilles vont
> s'imprimer.
> j'utilise Application.Dialogs(xlDialogPrinterSetup).Show
>
> Mais le hic, c'est que je fais un test sur chaque feuille pour savoir si
> elle est imprimable ou pas. (en fonction du "NA" qui est du texte).
> Donc y-a-t-il un moyen pour que cette boite de dialogue (ou une autre qui me
> donne le choix de l'imprimante uniquement) ne s'affiche qu'une fois ?
> Merci de votre aide. YANN
> ---
> Case "impression teste"
> 'Imprime de la page 13 à la dernière page
> NP = Worksheets.Count
> For i = 13 To NP
> Set Sh = Sheets(i)
> If Not UCase(Trim(Sh.Cells(4, 1).Value)) = "NA" Then
> Debug.Print Sh.Name
> memVisible = Sh.Visible
> Sh.Visible = True
> Application.Dialogs(xlDialogPrinterSetup).Show
> Sh.PrintOut
> Sh.Visible = memVisible
> End If
> Next
> ----





Avatar
Daniel.C
Bonjour.
En y réfléchissant, je pense que tu aurais intérêt à mettre le contrôle
au niveau de la saisie du nomde fichier.
Daniel

Bonjour Daniel,
et oui tout bête !! je l'avais bien bougé, mais j'ai pas essayé au tout
début, toujours après le If.....
mais bon, merci, et je m'en rappèlerais, j'esayerais toujours plus haut
avant de demander de l'aide .... :°)
YANN

"Daniel.C" a écrit :

Bonjour.
Application.Dialogs(xlDialogPrinterSetup).Show
For i = 13 To NP
Set Sh = Sheets(i)
If Not UCase(Trim(Sh.Cells(4, 1).Value)) = "NA" Then
Debug.Print Sh.Name
memVisible = Sh.Visible
Sh.Visible = True
Sh.PrintOut
Sh.Visible = memVisible
End If
Next

End Sub
Daniel

Bonjour,
j'ai un soucis.
ma macro pour imprimer des pages me joue des tours.
En effet, je souhaite choisir l'imprimante sur laquelle mes feuilles vont
s'imprimer.
j'utilise Application.Dialogs(xlDialogPrinterSetup).Show

Mais le hic, c'est que je fais un test sur chaque feuille pour savoir si
elle est imprimable ou pas. (en fonction du "NA" qui est du texte).
Donc y-a-t-il un moyen pour que cette boite de dialogue (ou une autre qui
me donne le choix de l'imprimante uniquement) ne s'affiche qu'une fois ?
Merci de votre aide. YANN
---
Case "impression teste"
'Imprime de la page 13 à la dernière page
NP = Worksheets.Count
For i = 13 To NP
Set Sh = Sheets(i)
If Not UCase(Trim(Sh.Cells(4, 1).Value)) = "NA" Then
Debug.Print Sh.Name
memVisible = Sh.Visible
Sh.Visible = True
Application.Dialogs(xlDialogPrinterSetup).Show
Sh.PrintOut
Sh.Visible = memVisible
End If
Next
----









Avatar
Daniel.C
Posté de travers. Ne pas faire attention, ça m'arrive...
Daniel

Bonjour.
En y réfléchissant, je pense que tu aurais intérêt à mettre le contrôle au
niveau de la saisie du nomde fichier.
Daniel

Bonjour Daniel,
et oui tout bête !! je l'avais bien bougé, mais j'ai pas essayé au tout
début, toujours après le If.....
mais bon, merci, et je m'en rappèlerais, j'esayerais toujours plus haut
avant de demander de l'aide .... :°)
YANN

"Daniel.C" a écrit :

Bonjour.
Application.Dialogs(xlDialogPrinterSetup).Show
For i = 13 To NP
Set Sh = Sheets(i)
If Not UCase(Trim(Sh.Cells(4, 1).Value)) = "NA" Then
Debug.Print Sh.Name
memVisible = Sh.Visible
Sh.Visible = True
Sh.PrintOut
Sh.Visible = memVisible
End If
Next

End Sub
Daniel

Bonjour,
j'ai un soucis.
ma macro pour imprimer des pages me joue des tours.
En effet, je souhaite choisir l'imprimante sur laquelle mes feuilles vont
s'imprimer.
j'utilise Application.Dialogs(xlDialogPrinterSetup).Show

Mais le hic, c'est que je fais un test sur chaque feuille pour savoir si
elle est imprimable ou pas. (en fonction du "NA" qui est du texte).
Donc y-a-t-il un moyen pour que cette boite de dialogue (ou une autre qui
me donne le choix de l'imprimante uniquement) ne s'affiche qu'une fois ?
Merci de votre aide. YANN
---
Case "impression teste"
'Imprime de la page 13 à la dernière page
NP = Worksheets.Count
For i = 13 To NP
Set Sh = Sheets(i)
If Not UCase(Trim(Sh.Cells(4, 1).Value)) = "NA" Then
Debug.Print Sh.Name
memVisible = Sh.Visible
Sh.Visible = True
Application.Dialogs(xlDialogPrinterSetup).Show
Sh.PrintOut
Sh.Visible = memVisible
End If
Next
----