macro excel qui imprime si la feuille existe uniquement - VB/VBA/VBS - Programmation
Marsh Posté le 08-10-2012 à 07:34:25
Bonjour,
tu peux parcourir les onglets pour trouver celui que tu cherches.
S'il existe, tu l'imprime, sinon, tu passes.
Code :
|
J'ai pas testé mais ça doit pas en être loin.
Marsh Posté le 08-10-2012 à 09:21:59
Bonjour,
J'ai rectifié en suivant tes conseils (voir code ci-dessous), néanmoins il y a toujours une impression qui est lancée même pour les fichiers Excel qui ne contiennent pas la page demandée.
------------
Sub Macro2()
Dim wb As Workbook, wb2 As Workbook
Dim sPath As String, sFilename As String
Dim NbRows As Integer, rg As Range
Dim Ws As Worksheet
Application.ScreenUpdating = False
sPath = Range("B10" ).Value 'Répertoire
sFilename = Dir(sPath & "*.xls*" ) 'ouvre tous les fichiers .xls*
Do While Len(sFilename) > 0
Set wb2 = Workbooks.Open(sPath & sFilename) 'Ouvre le fichier
On Error Resume Next
For Each Ws In w2.Sheets
If Ws.Name = "Compte Tarif Scénario 2014 S08E" Then
Sheets("Compte Tarif Scénario 2014 S08E" ).Select
ExecuteExcel4Macro "PRINT(1,,,1,,,,,,,,2,,,TRUE,,FALSE)"
End If
Next Ws
ActiveWindow.Close
sFilename = Dir
Loop
Application.ScreenUpdating = True
End Sub
Marsh Posté le 08-10-2012 à 10:04:28
Enlève le "On Error Resume Next ".
Je viens de voir que j'avais oublié une lettre là
Code :
|
Et si tu as encore la même erreur essaye de faire tourner la macro en pas à pas pour voir à quel moment l'impression est lancée.
Marsh Posté le 08-10-2012 à 11:08:32
Merci oovaveoo !!!
cela fonctionne uniquement en rectifiant "For Each Ws In wb2.Sheets"
Merci à toi !
Marsh Posté le 07-10-2012 à 20:08:06
Bonsoir à tous,
je sollicite votre aide car j'ai tant bien que mal créé une macro répondant à mon besoin : celui d'imprimer une feuille Excel bien spécifique ; si elle n'existe pas, rien ne doit être imprimé.
Je mets donc On Error Resume Next pour éviter de rencontrer l'erreur. Le problème est que cette petite ligne provoque l'impression de la feuille active lors de l'ouverture du classeur !!!
Pouvez-vous m'aider svp ?
Merci d'avance, et bonne soirée
Sub Macro2()
'
Dim wb As Workbook, wb2 As Workbook
Dim sPath As String, sFilename As String
Dim NbRows As Integer, rg As Range
Application.ScreenUpdating = False
sPath = Range("B10" ).Value 'Répertoire souhaité saisi dans la cellule b10
sFilename = Dir(sPath & "*.xls*" ) 'ouvre tous les fichiers .xls*
Do While Len(sFilename) > 0
Set wb2 = Workbooks.Open(sPath & sFilename) 'Ouvre le fichier
On Error Resume Next
Sheets("Compte 2014" ).Select
ExecuteExcel4Macro "PRINT(1,,,1,,,,,,,,2,,,TRUE,,FALSE)"
ActiveWindow.Close
sFilename = Dir
Loop
Application.ScreenUpdating = True
End Sub