Imprimer tous les onglets de couleur rouge
Résolu
greg95greg
Messages postés
3
Statut
Membre
-
greg95greg -
greg95greg -
Bonjour a tous,
J ai une demande qui je pense est simple mais je ne m'en sort pas....
Je souhaite faire une macro pour imprimer(.pdf]) tous les onglets d un classeur ayant la couleur RGB (255,0,0).
Merci d'avance pour vos réponse.
J ai une demande qui je pense est simple mais je ne m'en sort pas....
Je souhaite faire une macro pour imprimer(.pdf]) tous les onglets d un classeur ayant la couleur RGB (255,0,0).
Merci d'avance pour vos réponse.
4 réponses
-
Ca change un peu le code
Sub PrintRed() Dim sh As Worksheet Dim couleur As Long Dim arrSh() Dim i As Long For Each sh In ThisWorkbook.Sheets couleur = sh.Tab.color If couleur = "255" Then Debug.Print "Feuille : " & sh.Name i = i + 1 ReDim Preserve arrSh(1 To i) 'On stocke les feuilles dans un array arrSh(i) = sh.Name End If Next 'On selectionne les feuilles à imprimer ThisWorkbook.Sheets(arrSh).Select ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _ "C:\test.pdf", Quality:=xlQualityStandard, IncludeDocProperties:=True, _ IgnorePrintAreas:=False, OpenAfterPublish:=True End Sub
-
Bonjour,
un truc du genreSub PrintRed() Dim sh As Worksheet Dim couleur As Long For Each sh In ThisWorkbook.Sheets couleur = sh.Tab.color If couleur = "255" Then Debug.Print "Feuille : " & sh.Name 'ici le code pour imprimer sh.PrintOut End If Next End Sub
-
Merci beaucoup, ça fonctionne nikel,
petite demande supplémentaire,
est il possible de compiler tout les onglets (en rouge) dans le même .pdf ? -
Rebonjour et encore merci pour la dernière fois,
J'ai un dernier soucis , je n'arrive pas à modifier le code afin de donner le nom du PDF équivalent au nom qui se situe dans case "a1" de la feuille "3".
J'ai essayé ça, si quelqu'un a une idée, je suis preneur :-)
Dim sh As Worksheet Dim couleur As Long Dim arrSh() Dim i As Long Dim Chemin As String, NomFic As String, resultat As String, extens As String, nbcarExt As Byte 'dim Nom as string For Each sh In ThisWorkbook.Sheets couleur = sh.Tab.Color If couleur = "255" Then Debug.Print "Feuille : " & sh.Name i = i + 1 ReDim Preserve arrSh(1 To i) 'On stocke les feuilles dans un array arrSh(i) = sh.Name End If Next 'On selectionne les feuilles à imprimer ThisWorkbook.Sheets(arrSh).Select Chemin = ThisWorkbook.Path extens = Split(ThisWorkbook.Name, ".")(1) nbcarExt = Len(extens) NomFic = Left(ThisWorkbook.Name, Len(ThisWorkbook.Name) - nbcarExt) 'Nom = thisworkbook.sheet(3).cells("a1")value ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _ Chemin & "\" & Nom & "pdf", Quality:=xlQualityStandard, _ IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:= _ False
EDIT : Ajout des balises de code-
Bonjour,
Déjà...lorsque tu postes ton code sur le forum, merci d'utiliser les balises de code
Explications disponibles ici :
https://codes-sources.commentcamarche.net/faq/11288-les-balises-de-code
Ensuite .. nouvelle question = ouverture d'une nouvelle discussion. Tu as de la chances que je sois encore passé dessus pour voir ta nouvelle demande.
Et enfin, concernant ton souci...Nom = thisworkbook.sheets(3).cells(1,1).value ' ou Nom = thisworkbook.sheets(3).range("A1").value ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _ Chemin & "\" & Nom & ".pdf", Quality:=xlQualityStandard, _ IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:= _ False -
-