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

Impression sélectionnée

12 réponses
Avatar
Sunburn
Bonjour,
je voudrais savoir comment faire pour imprimer les pages selon un critère
très précis.
Mon classeur fais 30 pages.
Je voudrais imprimer les pagesde 16 à 30, mais uniquement celles pour
lesquelles la cellule A4 n'est pas "N/A".
J'espère que je me suis assez bien exprimer.
Merci pour l'aide, YANN

10 réponses

1 2
Avatar
Daniel.C
Bonjour.
Essaie :

Sub test()
For Each sh In Sheets
If Not Application.IsNA(sh.[A4]) Then
sh.PrintOut
End If
Next sh
End Sub

Cordialement.
Daniel
"Sunburn" a écrit dans le message de
news:
Bonjour,
je voudrais savoir comment faire pour imprimer les pages selon un critère
très précis.
Mon classeur fais 30 pages.
Je voudrais imprimer les pagesde 16 à 30, mais uniquement celles pour
lesquelles la cellule A4 n'est pas "N/A".
J'espère que je me suis assez bien exprimer.
Merci pour l'aide, YANN


Avatar
Mishell
Bonjour.

Pour compléter:
Sub test()
For i = 16 To 30
Set sh = Sheets(i)
If Not Application.IsNA(sh.[A4]) Then
Debug.Print sh.Name
sh.PrintOut
End If
Next
End Sub

Cordialement

Mishell

"Daniel.C" wrote in message
news:
Bonjour.
Essaie :

Sub test()
For Each sh In Sheets
If Not Application.IsNA(sh.[A4]) Then
sh.PrintOut
End If
Next sh
End Sub

Cordialement.
Daniel
"Sunburn" a écrit dans le message de
news:
Bonjour,
je voudrais savoir comment faire pour imprimer les pages selon un critère
très précis.
Mon classeur fais 30 pages.
Je voudrais imprimer les pagesde 16 à 30, mais uniquement celles pour
lesquelles la cellule A4 n'est pas "N/A".
J'espère que je me suis assez bien exprimer.
Merci pour l'aide, YANN






Avatar
Sunburn
Je vous remercie,
désolé pour le retard de réponse.

Bon, ça imprime toutes mes feuilles, même celles ou "NA" est saisi en
celulle A4.

Si vous pouvez de nouveau m'éclairer, merci
YANN


"Daniel.C" a écrit :

Bonjour.
Essaie :

Sub test()
For Each sh In Sheets
If Not Application.IsNA(sh.[A4]) Then
sh.PrintOut
End If
Next sh
End Sub

Cordialement.
Daniel
"Sunburn" a écrit dans le message de
news:
> Bonjour,
> je voudrais savoir comment faire pour imprimer les pages selon un critère
> très précis.
> Mon classeur fais 30 pages.
> Je voudrais imprimer les pagesde 16 à 30, mais uniquement celles pour
> lesquelles la cellule A4 n'est pas "N/A".
> J'espère que je me suis assez bien exprimer.
> Merci pour l'aide, YANN





Avatar
Sunburn
Je vous remercie,
désolé pour le retard de réponse.

Bon, ça imprime toutes mes feuilles, même celles ou "NA" est saisi en
celulle A4.

Si vous pouvez de nouveau m'éclairer, merci
YANN

"Mishell" a écrit :

Bonjour.

Pour compléter:
Sub test()
For i = 16 To 30
Set sh = Sheets(i)
If Not Application.IsNA(sh.[A4]) Then
Debug.Print sh.Name
sh.PrintOut
End If
Next
End Sub

Cordialement

Mishell

"Daniel.C" wrote in message
news:
> Bonjour.
> Essaie :
>
> Sub test()
> For Each sh In Sheets
> If Not Application.IsNA(sh.[A4]) Then
> sh.PrintOut
> End If
> Next sh
> End Sub
>
> Cordialement.
> Daniel
> "Sunburn" a écrit dans le message de
> news:
>> Bonjour,
>> je voudrais savoir comment faire pour imprimer les pages selon un critère
>> très précis.
>> Mon classeur fais 30 pages.
>> Je voudrais imprimer les pagesde 16 à 30, mais uniquement celles pour
>> lesquelles la cellule A4 n'est pas "N/A".
>> J'espère que je me suis assez bien exprimer.
>> Merci pour l'aide, YANN
>
>





Avatar
Mishell
Si la valeur de la cellule A4 est NA et non pas #N/A
remplace
If Not Application.IsNA(sh.[A4]) Then
par
If Not UCase(Trim(sh.Cells(4, 1).Value)) = "NA" Then

Mishell


"Sunburn" wrote in message
news:
Je vous remercie,
désolé pour le retard de réponse.

Bon, ça imprime toutes mes feuilles, même celles ou "NA" est saisi en
celulle A4.

Si vous pouvez de nouveau m'éclairer, merci
YANN

"Mishell" a écrit :

Bonjour.

Pour compléter:
Sub test()
For i = 16 To 30
Set sh = Sheets(i)
If Not Application.IsNA(sh.[A4]) Then
Debug.Print sh.Name
sh.PrintOut
End If
Next
End Sub

Cordialement

Mishell

"Daniel.C" wrote in message
news:
> Bonjour.
> Essaie :
>
> Sub test()
> For Each sh In Sheets
> If Not Application.IsNA(sh.[A4]) Then
> sh.PrintOut
> End If
> Next sh
> End Sub
>
> Cordialement.
> Daniel
> "Sunburn" a écrit dans le message
> de
> news:
>> Bonjour,
>> je voudrais savoir comment faire pour imprimer les pages selon un
>> critère
>> très précis.
>> Mon classeur fais 30 pages.
>> Je voudrais imprimer les pagesde 16 à 30, mais uniquement celles pour
>> lesquelles la cellule A4 n'est pas "N/A".
>> J'espère que je me suis assez bien exprimer.
>> Merci pour l'aide, YANN
>
>







Avatar
Sunburn
Merci beaucoup, ça marche du tonner !!!
Yann

"Mishell" a écrit :

Si la valeur de la cellule A4 est NA et non pas #N/A
remplace
If Not Application.IsNA(sh.[A4]) Then
par
If Not UCase(Trim(sh.Cells(4, 1).Value)) = "NA" Then

Mishell


"Sunburn" wrote in message
news:
> Je vous remercie,
> désolé pour le retard de réponse.
>
> Bon, ça imprime toutes mes feuilles, même celles ou "NA" est saisi en
> celulle A4.
>
> Si vous pouvez de nouveau m'éclairer, merci
> YANN
>
> "Mishell" a écrit :
>
>> Bonjour.
>>
>> Pour compléter:
>> Sub test()
>> For i = 16 To 30
>> Set sh = Sheets(i)
>> If Not Application.IsNA(sh.[A4]) Then
>> Debug.Print sh.Name
>> sh.PrintOut
>> End If
>> Next
>> End Sub
>>
>> Cordialement
>>
>> Mishell
>>
>> "Daniel.C" wrote in message
>> news:
>> > Bonjour.
>> > Essaie :
>> >
>> > Sub test()
>> > For Each sh In Sheets
>> > If Not Application.IsNA(sh.[A4]) Then
>> > sh.PrintOut
>> > End If
>> > Next sh
>> > End Sub
>> >
>> > Cordialement.
>> > Daniel
>> > "Sunburn" a écrit dans le message
>> > de
>> > news:
>> >> Bonjour,
>> >> je voudrais savoir comment faire pour imprimer les pages selon un
>> >> critère
>> >> très précis.
>> >> Mon classeur fais 30 pages.
>> >> Je voudrais imprimer les pagesde 16 à 30, mais uniquement celles pour
>> >> lesquelles la cellule A4 n'est pas "N/A".
>> >> J'espère que je me suis assez bien exprimer.
>> >> Merci pour l'aide, YANN
>> >
>> >
>>
>>
>>





Avatar
Sunburn
Oui, juste une dernière question:
pour imprimer de la page 16 à la dernière page, comment fais-t-on ?
Merci.
Yann

"Mishell" a écrit :

Si la valeur de la cellule A4 est NA et non pas #N/A
remplace
If Not Application.IsNA(sh.[A4]) Then
par
If Not UCase(Trim(sh.Cells(4, 1).Value)) = "NA" Then

Mishell


"Sunburn" wrote in message
news:
> Je vous remercie,
> désolé pour le retard de réponse.
>
> Bon, ça imprime toutes mes feuilles, même celles ou "NA" est saisi en
> celulle A4.
>
> Si vous pouvez de nouveau m'éclairer, merci
> YANN
>
> "Mishell" a écrit :
>
>> Bonjour.
>>
>> Pour compléter:
>> Sub test()
>> For i = 16 To 30
>> Set sh = Sheets(i)
>> If Not Application.IsNA(sh.[A4]) Then
>> Debug.Print sh.Name
>> sh.PrintOut
>> End If
>> Next
>> End Sub
>>
>> Cordialement
>>
>> Mishell
>>
>> "Daniel.C" wrote in message
>> news:
>> > Bonjour.
>> > Essaie :
>> >
>> > Sub test()
>> > For Each sh In Sheets
>> > If Not Application.IsNA(sh.[A4]) Then
>> > sh.PrintOut
>> > End If
>> > Next sh
>> > End Sub
>> >
>> > Cordialement.
>> > Daniel
>> > "Sunburn" a écrit dans le message
>> > de
>> > news:
>> >> Bonjour,
>> >> je voudrais savoir comment faire pour imprimer les pages selon un
>> >> critère
>> >> très précis.
>> >> Mon classeur fais 30 pages.
>> >> Je voudrais imprimer les pagesde 16 à 30, mais uniquement celles pour
>> >> lesquelles la cellule A4 n'est pas "N/A".
>> >> J'espère que je me suis assez bien exprimer.
>> >> Merci pour l'aide, YANN
>> >
>> >
>>
>>
>>





Avatar
Sunburn
Euh, en fait, là, il bug à
-------
sh.printout
------
Alors, que quand je l'ai testé, ça marchait. C'est peut être la variable i
qui ne va pas, en effet, mon code est celui-là (dans un userform) :
-----
Private Sub Combobox1_Click()
Application.ScreenUpdating = False
Select Case Me.ComboBox1.Value
Case "Page en cours"
ThisWorkbook.IsAddin = False
ActiveSheet.PrintOut
Case "Tout le dossier général"
'imprime le dossier général
For I = 2 To 11
Set sh = Sheets(I)
If Not UCase(Trim(sh.Cells(4, 1).Value)) = "NA" Then
Debug.Print sh.Name
sh.PrintOut
End If
Next
Case "Tout le dossier de contrôle"
'Imprime le dossier de contrôle annuel + balance + fiches suiveuse, de la
page 16 à la dernière page
For I = 12 To 50
Set sh = Sheets(I)
If Not UCase(Trim(sh.Cells(4, 1).Value)) = "NA" Then
Debug.Print sh.Name
sh.PrintOut
End If
Next
End Select
End Sub
---------------
Merci
Avatar
Sunburn
Euh, non, ça ne plante en fait que quand mes feuilles sont cachées.
je vais décacher mes feuilles, imprimer, puis recacher mes feuilles, et ça
devrait aller.

En fait, je viens de tester, non ça ne fonctionne pas.
Comment faire pour que cela imprime les feuilles 16 à la dernière page du
classeur, même si elles sont cachées?
Merci.
YANN

"Mishell" a écrit :

Si la valeur de la cellule A4 est NA et non pas #N/A
remplace
If Not Application.IsNA(sh.[A4]) Then
par
If Not UCase(Trim(sh.Cells(4, 1).Value)) = "NA" Then

Mishell


"Sunburn" wrote in message
news:
> Je vous remercie,
> désolé pour le retard de réponse.
>
> Bon, ça imprime toutes mes feuilles, même celles ou "NA" est saisi en
> celulle A4.
>
> Si vous pouvez de nouveau m'éclairer, merci
> YANN
>
> "Mishell" a écrit :
>
>> Bonjour.
>>
>> Pour compléter:
>> Sub test()
>> For i = 16 To 30
>> Set sh = Sheets(i)
>> If Not Application.IsNA(sh.[A4]) Then
>> Debug.Print sh.Name
>> sh.PrintOut
>> End If
>> Next
>> End Sub
>>
>> Cordialement
>>
>> Mishell
>>
>> "Daniel.C" wrote in message
>> news:
>> > Bonjour.
>> > Essaie :
>> >
>> > Sub test()
>> > For Each sh In Sheets
>> > If Not Application.IsNA(sh.[A4]) Then
>> > sh.PrintOut
>> > End If
>> > Next sh
>> > End Sub
>> >
>> > Cordialement.
>> > Daniel
>> > "Sunburn" a écrit dans le message
>> > de
>> > news:
>> >> Bonjour,
>> >> je voudrais savoir comment faire pour imprimer les pages selon un
>> >> critère
>> >> très précis.
>> >> Mon classeur fais 30 pages.
>> >> Je voudrais imprimer les pagesde 16 à 30, mais uniquement celles pour
>> >> lesquelles la cellule A4 n'est pas "N/A".
>> >> J'espère que je me suis assez bien exprimer.
>> >> Merci pour l'aide, YANN
>> >
>> >
>>
>>
>>





Avatar
Mishell
Remplace sh.PrintOut
par
memVisible = sh.Visible
sh.Visible = True
sh.PrintOut
sh.Visible = memVisible

Mishell

"Sunburn" wrote in message
news:
Euh, non, ça ne plante en fait que quand mes feuilles sont cachées.
je vais décacher mes feuilles, imprimer, puis recacher mes feuilles, et ça
devrait aller.

En fait, je viens de tester, non ça ne fonctionne pas.
Comment faire pour que cela imprime les feuilles 16 à la dernière page du
classeur, même si elles sont cachées?
Merci.
YANN

"Mishell" a écrit :

Si la valeur de la cellule A4 est NA et non pas #N/A
remplace
If Not Application.IsNA(sh.[A4]) Then
par
If Not UCase(Trim(sh.Cells(4, 1).Value)) = "NA" Then

Mishell


"Sunburn" wrote in message
news:
> Je vous remercie,
> désolé pour le retard de réponse.
>
> Bon, ça imprime toutes mes feuilles, même celles ou "NA" est saisi en
> celulle A4.
>
> Si vous pouvez de nouveau m'éclairer, merci
> YANN
>
> "Mishell" a écrit :
>
>> Bonjour.
>>
>> Pour compléter:
>> Sub test()
>> For i = 16 To 30
>> Set sh = Sheets(i)
>> If Not Application.IsNA(sh.[A4]) Then
>> Debug.Print sh.Name
>> sh.PrintOut
>> End If
>> Next
>> End Sub
>>
>> Cordialement
>>
>> Mishell
>>
>> "Daniel.C" wrote in message
>> news:
>> > Bonjour.
>> > Essaie :
>> >
>> > Sub test()
>> > For Each sh In Sheets
>> > If Not Application.IsNA(sh.[A4]) Then
>> > sh.PrintOut
>> > End If
>> > Next sh
>> > End Sub
>> >
>> > Cordialement.
>> > Daniel
>> > "Sunburn" a écrit dans le
>> > message
>> > de
>> > news:
>> >> Bonjour,
>> >> je voudrais savoir comment faire pour imprimer les pages selon un
>> >> critère
>> >> très précis.
>> >> Mon classeur fais 30 pages.
>> >> Je voudrais imprimer les pagesde 16 à 30, mais uniquement celles
>> >> pour
>> >> lesquelles la cellule A4 n'est pas "N/A".
>> >> J'espère que je me suis assez bien exprimer.
>> >> Merci pour l'aide, YANN
>> >
>> >
>>
>>
>>







1 2