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

Simplification de procédure

5 réponses
Avatar
Didier Novarin
Bonsoir
Je désire simplifier cette procédure : j'ai 30 pages nommées de A1 à A30
je vous remercie
Didier
If Sheets("A1").Range("B3") <> "" Then
ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True
End If
If Sheets("A2").Range("B3") <> "" Then
ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True
End If
If Sheets("A3").Range("B3") <> "" Then
ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True
End If
etc.

5 réponses

Avatar
michdenis
Bonjour Didier,

As-tu vraiment des feuilles dont le nom de l'onglet est A1, A2, A3 ?

Si ce sont toutes les feuilles de ton classeur qui doivent subir le même traitement :

'------------------------
For each sh in Worksheets
if sh.Range("B3") <> "" then
Sh.Printout 'voir paramètre de la méthode "Print"
' dans l'aide si besoin
end if
Next
'------------------------


Salutations!


"Didier Novarin" a écrit dans le message de news: O0Z$
Bonsoir
Je désire simplifier cette procédure : j'ai 30 pages nommées de A1 à A30
je vous remercie
Didier
If Sheets("A1").Range("B3") <> "" Then
ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True
End If
If Sheets("A2").Range("B3") <> "" Then
ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True
End If
If Sheets("A3").Range("B3") <> "" Then
ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True
End If
etc.
Avatar
Didier Novarin
Bonjour et merci Denis
non, j'ai d'autres feuilles mais les feuilles A1 à A30, sont les dernières
du classeur
Didier

"michdenis" a écrit dans le message de news:
%
Bonjour Didier,

As-tu vraiment des feuilles dont le nom de l'onglet est A1, A2, A3 ?

Si ce sont toutes les feuilles de ton classeur qui doivent subir le même
traitement :

'------------------------
For each sh in Worksheets
if sh.Range("B3") <> "" then
Sh.Printout 'voir paramètre de la méthode "Print"
' dans l'aide si besoin
end if
Next
'------------------------


Salutations!


"Didier Novarin" a écrit dans le message de
news: O0Z$
Bonsoir
Je désire simplifier cette procédure : j'ai 30 pages nommées de A1 à A30
je vous remercie
Didier
If Sheets("A1").Range("B3") <> "" Then
ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True
End If
If Sheets("A2").Range("B3") <> "" Then
ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True
End If
If Sheets("A3").Range("B3") <> "" Then
ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True
End If
etc.





Avatar
michdenis
Essaie ceci :

'-----------------
Dim A As Integer
For A = 1 To 30
With Sheets("A" & A)
If .Range("B3") <> "" Then
.PrintOut Copies:=1, Collate:=True
End If
End With
Next
'-----------------


Salutations!



"Didier Novarin" a écrit dans le message de news:
Bonjour et merci Denis
non, j'ai d'autres feuilles mais les feuilles A1 à A30, sont les dernières
du classeur
Didier

"michdenis" a écrit dans le message de news:
%
Bonjour Didier,

As-tu vraiment des feuilles dont le nom de l'onglet est A1, A2, A3 ?

Si ce sont toutes les feuilles de ton classeur qui doivent subir le même
traitement :

'------------------------
For each sh in Worksheets
if sh.Range("B3") <> "" then
Sh.Printout 'voir paramètre de la méthode "Print"
' dans l'aide si besoin
end if
Next
'------------------------


Salutations!


"Didier Novarin" a écrit dans le message de
news: O0Z$
Bonsoir
Je désire simplifier cette procédure : j'ai 30 pages nommées de A1 à A30
je vous remercie
Didier
If Sheets("A1").Range("B3") <> "" Then
ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True
End If
If Sheets("A2").Range("B3") <> "" Then
ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True
End If
If Sheets("A3").Range("B3") <> "" Then
ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True
End If
etc.





Avatar
Didier Novarin
Parfait, c'est exactement cela
Merci beaucoup
Didier

"michdenis" a écrit dans le message de news:
%23TvST$
Essaie ceci :

'-----------------
Dim A As Integer
For A = 1 To 30
With Sheets("A" & A)
If .Range("B3") <> "" Then
.PrintOut Copies:=1, Collate:=True
End If
End With
Next
'-----------------


Salutations!



"Didier Novarin" a écrit dans le message de
news:
Bonjour et merci Denis
non, j'ai d'autres feuilles mais les feuilles A1 à A30, sont les dernières
du classeur
Didier

"michdenis" a écrit dans le message de news:
%
Bonjour Didier,

As-tu vraiment des feuilles dont le nom de l'onglet est A1, A2, A3 ?

Si ce sont toutes les feuilles de ton classeur qui doivent subir le même
traitement :

'------------------------
For each sh in Worksheets
if sh.Range("B3") <> "" then
Sh.Printout 'voir paramètre de la méthode "Print"
' dans l'aide si besoin
end if
Next
'------------------------


Salutations!


"Didier Novarin" a écrit dans le message de
news: O0Z$
Bonsoir
Je désire simplifier cette procédure : j'ai 30 pages nommées de A1 à A30
je vous remercie
Didier
If Sheets("A1").Range("B3") <> "" Then
ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True
End If
If Sheets("A2").Range("B3") <> "" Then
ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True
End If
If Sheets("A3").Range("B3") <> "" Then
ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True
End If
etc.










Avatar
Iznogood1
For i = 1 To 30
If Sheets("A& & i).Range("B3") <> "" Then
ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True
End If
Next i

Bonsoir
Je désire simplifier cette procédure : j'ai 30 pages nommées de A1 à A30
je vous remercie
Didier
If Sheets("A1").Range("B3") <> "" Then
ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True
End If
If Sheets("A2").Range("B3") <> "" Then
ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True
End If
If Sheets("A3").Range("B3") <> "" Then
ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True
End If
etc.