Extension macro

Benwill153

XLDnaute Nouveau
Bonjour à tous,
J'ai un fichier excel 2003 sur lequel j'ai plusieurs onglet. mon problème est que je suis obligé d'aller dans chaque onglet pour imprimer ma feuille. je souhaiterai pouvoir imprimé certain onglet d'une seul fois.

Donc j'ai 1 macros qui me permet d'imprimer en 2 exemplaires onglet par onglet les feuilles dont les lignes sont remplis de la colonne A. (raccourci macro ctrl + m)
Mon idée serait de garder ce macro et d'en recréée un à coté (raccourci macro ctrl + q) qui en fonction d'une cellule cochée, je n'aurai pas besoin d'aller dans chaque onglet pour imprimer mes feuilles. (genres on met un X dans la cellule B2 et ça n'imprime que les onglet ou la cellule B6 contient un X).

ci dessous mon macro actuel :

Sub ImprimeM()
'
' ImprimeM Macro
' Macro enregistrée le 05/06/2009 par Benoît R.
'
Cells.Select
Selection.Copy
Sheets.Add
Cells.Select
ActiveSheet.Paste

If Range("a10") = 0 Then
Rows("10:10").Select
Selection.EntireRow.Hidden = True
End If
If Range("a11") = 0 Then
Rows("11:11").Select
Selection.EntireRow.Hidden = True
End If
If Range("a12") = 0 Then
Rows("12:12").Select
Selection.EntireRow.Hidden = True
End If
If Range("a13") = 0 Then
Rows("13:13").Select
Selection.EntireRow.Hidden = True
End If
If Range("a14") = 0 Then
Rows("14:14").Select
Selection.EntireRow.Hidden = True
End If
If Range("a15") = 0 Then
Rows("15:15").Select
Selection.EntireRow.Hidden = True
End If
If Range("a16") = 0 Then
Rows("16:16").Select
Selection.EntireRow.Hidden = True
End If
If Range("a17") = 0 Then
Rows("17:17").Select
Selection.EntireRow.Hidden = True
End If
If Range("a18") = 0 Then
Rows("18:18").Select
Selection.EntireRow.Hidden = True
End If
If Range("a19") = 0 Then
Rows("19:19").Select
Selection.EntireRow.Hidden = True
End If
If Range("a20") = 0 Then
Rows("20:20").Select
Selection.EntireRow.Hidden = True
End If
If Range("a21") = 0 Then
Rows("21:21").Select
Selection.EntireRow.Hidden = True
End If
If Range("a22") = 0 Then
Rows("22:22").Select
Selection.EntireRow.Hidden = True
End If
If Range("a23") = 0 Then
Rows("23:23").Select
Selection.EntireRow.Hidden = True
End If
If Range("a24") = 0 Then
Rows("24:24").Select
Selection.EntireRow.Hidden = True
End If
If Range("a25") = 0 Then
Rows("25:25").Select
Selection.EntireRow.Hidden = True
End If
If Range("a26") = 0 Then
Rows("26:26").Select
Selection.EntireRow.Hidden = True
End If
If Range("a27") = 0 Then
Rows("27:27").Select
Selection.EntireRow.Hidden = True
End If
If Range("a28") = 0 Then
Rows("28:28").Select
Selection.EntireRow.Hidden = True
End If
If Range("a29") = 0 Then
Rows("29:29").Select
Selection.EntireRow.Hidden = True
End If
If Range("a30") = 0 Then
Rows("30:30").Select
Selection.EntireRow.Hidden = True
End If
If Range("a31") = 0 Then
Rows("31:31").Select
Selection.EntireRow.Hidden = True
End If
If Range("a32") = 0 Then
Rows("32:32").Select
Selection.EntireRow.Hidden = True
End If
If Range("a33") = 0 Then
Rows("33:33").Select
Selection.EntireRow.Hidden = True
End If
If Range("a34") = 0 Then
Rows("34:34").Select
Selection.EntireRow.Hidden = True
End If
If Range("a35") = 0 Then
Rows("35:35").Select
Selection.EntireRow.Hidden = True
End If
If Range("a36") = 0 Then
Rows("36:36").Select
Selection.EntireRow.Hidden = True
End If
If Range("a37") = 0 Then
Rows("37:37").Select
Selection.EntireRow.Hidden = True
End If
If Range("a38") = 0 Then
Rows("38:38").Select
Selection.EntireRow.Hidden = True
End If
If Range("a39") = 0 Then
Rows("39:39").Select
Selection.EntireRow.Hidden = True
End If
If Range("a40") = 0 Then
Rows("40:40").Select
Selection.EntireRow.Hidden = True
End If
If Range("a41") = 0 Then
Rows("41:41").Select
Selection.EntireRow.Hidden = True
End If
If Range("a42") = 0 Then
Rows("42:42").Select
Selection.EntireRow.Hidden = True
End If
If Range("a43") = 0 Then
Rows("43:43").Select
Selection.EntireRow.Hidden = True
End If
If Range("a44") = 0 Then
Rows("44:44").Select
Selection.EntireRow.Hidden = True
End If
If Range("a45") = 0 Then
Rows("45:45").Select
Selection.EntireRow.Hidden = True
End If
If Range("a46") = 0 Then
Rows("46:46").Select
Selection.EntireRow.Hidden = True
End If
If Range("a47") = 0 Then
Rows("47:47").Select
Selection.EntireRow.Hidden = True
End If
If Range("a48") = 0 Then
Rows("48:48").Select
Selection.EntireRow.Hidden = True
End If
If Range("a49") = 0 Then
Rows("49:49").Select
Selection.EntireRow.Hidden = True
End If
If Range("a50") = 0 Then
Rows("50:50").Select
Selection.EntireRow.Hidden = True
End If
If Range("a51") = 0 Then
Rows("51:51").Select
Selection.EntireRow.Hidden = True
End If
If Range("a52") = 0 Then
Rows("52:52").Select
Selection.EntireRow.Hidden = True
End If
If Range("a53") = 0 Then
Rows("53:53").Select
Selection.EntireRow.Hidden = True
End If
If Range("a54") = 0 Then
Rows("54:54").Select
Selection.EntireRow.Hidden = True
End If
If Range("a55") = 0 Then
Rows("55:55").Select
Selection.EntireRow.Hidden = True
End If
If Range("a56") = 0 Then
Rows("56:56").Select
Selection.EntireRow.Hidden = True
End If
If Range("a57") = 0 Then
Rows("57:57").Select
Selection.EntireRow.Hidden = True
End If
If Range("a58") = 0 Then
Rows("58:58").Select
Selection.EntireRow.Hidden = True
End If
If Range("a59") = 0 Then
Rows("59:59").Select
Selection.EntireRow.Hidden = True
End If
If Range("a60") = 0 Then
Rows("60:60").Select
Selection.EntireRow.Hidden = True
End If
If Range("a61") = 0 Then
Rows("61:61").Select
Selection.EntireRow.Hidden = True
End If
If Range("a62") = 0 Then
Rows("62:62").Select
Selection.EntireRow.Hidden = True
End If
If Range("a63") = 0 Then
Rows("63:63").Select
Selection.EntireRow.Hidden = True
End If
If Range("a64") = 0 Then
Rows("64:64").Select
Selection.EntireRow.Hidden = True
End If
If Range("a65") = 0 Then
Rows("65:65").Select
Selection.EntireRow.Hidden = True
End If
If Range("a66") = 0 Then
Rows("66:66").Select
Selection.EntireRow.Hidden = True
End If
If Range("a67") = 0 Then
Rows("67:67").Select
Selection.EntireRow.Hidden = True
End If
If Range("a68") = 0 Then
Rows("68:68").Select
Selection.EntireRow.Hidden = True
End If
If Range("a69") = 0 Then
Rows("69:69").Select
Selection.EntireRow.Hidden = True
End If
If Range("a70") = 0 Then
Rows("70:70").Select
Selection.EntireRow.Hidden = True
End If
If Range("a71") = 0 Then
Rows("71:71").Select
Selection.EntireRow.Hidden = True
End If
If Range("a72") = 0 Then
Rows("72:72").Select
Selection.EntireRow.Hidden = True
End If
If Range("a73") = 0 Then
Rows("73:73").Select
Selection.EntireRow.Hidden = True
End If
If Range("a74") = 0 Then
Rows("74:74").Select
Selection.EntireRow.Hidden = True
End If
If Range("a75") = 0 Then
Rows("75:75").Select
Selection.EntireRow.Hidden = True
End If
If Range("a76") = 0 Then
Rows("76:76").Select
Selection.EntireRow.Hidden = True
End If
If Range("a77") = 0 Then
Rows("77:77").Select
Selection.EntireRow.Hidden = True
End If
If Range("a78") = 0 Then
Rows("78:78").Select
Selection.EntireRow.Hidden = True
End If
If Range("a79") = 0 Then
Rows("79:79").Select
Selection.EntireRow.Hidden = True
End If
If Range("a80") = 0 Then
Rows("80:80").Select
Selection.EntireRow.Hidden = True
End If
If Range("a81") = 0 Then
Rows("81:81").Select
Selection.EntireRow.Hidden = True
End If
If Range("a82") = 0 Then
Rows("82:82").Select
Selection.EntireRow.Hidden = True
End If
If Range("a83") = 0 Then
Rows("83:83").Select
Selection.EntireRow.Hidden = True
End If
If Range("a84") = 0 Then
Rows("84:84").Select
Selection.EntireRow.Hidden = True
End If
If Range("a85") = 0 Then
Rows("85:85").Select
Selection.EntireRow.Hidden = True
End If
If Range("a86") = 0 Then
Rows("86:86").Select
Selection.EntireRow.Hidden = True
End If
If Range("a87") = 0 Then
Rows("87:87").Select
Selection.EntireRow.Hidden = True
End If
If Range("a88") = 0 Then
Rows("88:88").Select
Selection.EntireRow.Hidden = True
End If
If Range("a89") = 0 Then
Rows("89:89").Select
Selection.EntireRow.Hidden = True
End If
If Range("a90") = 0 Then
Rows("90:90").Select
Selection.EntireRow.Hidden = True
End If
If Range("a91") = 0 Then
Rows("91:91").Select
Selection.EntireRow.Hidden = True
End If
If Range("a92") = 0 Then
Rows("92:92").Select
Selection.EntireRow.Hidden = True
End If
If Range("a93") = 0 Then
Rows("93:93").Select
Selection.EntireRow.Hidden = True
End If
If Range("a94") = 0 Then
Rows("94:94").Select
Selection.EntireRow.Hidden = True
End If
If Range("a95") = 0 Then
Rows("95:95").Select
Selection.EntireRow.Hidden = True
End If
If Range("a96") = 0 Then
Rows("96:96").Select
Selection.EntireRow.Hidden = True
End If
If Range("a97") = 0 Then
Rows("97:97").Select
Selection.EntireRow.Hidden = True
End If
If Range("a98") = 0 Then
Rows("98:98").Select
Selection.EntireRow.Hidden = True
End If
If Range("a99") = 0 Then
Rows("99:99").Select
Selection.EntireRow.Hidden = True
End If
If Range("a100") = 0 Then
Rows("100:100").Select
Selection.EntireRow.Hidden = True
End If
If Range("a101") = 0 Then
Rows("101:101").Select
Selection.EntireRow.Hidden = True
End If
If Range("a102") = 0 Then
Rows("102:102").Select
Selection.EntireRow.Hidden = True
End If
If Range("a103") = 0 Then
Rows("103:103").Select
Selection.EntireRow.Hidden = True
End If
If Range("a104") = 0 Then
Rows("104:104").Select
Selection.EntireRow.Hidden = True
End If
If Range("a105") = 0 Then
Rows("105:105").Select
Selection.EntireRow.Hidden = True
End If
If Range("a106") = 0 Then
Rows("106:106").Select
Selection.EntireRow.Hidden = True
End If
If Range("a107") = 0 Then
Rows("107:107").Select
Selection.EntireRow.Hidden = True
End If
If Range("a108") = 0 Then
Rows("108:108").Select
Selection.EntireRow.Hidden = True
End If
If Range("a109") = 0 Then
Rows("109:109").Select
Selection.EntireRow.Hidden = True
End If
If Range("a110") = 0 Then
Rows("110:110").Select
Selection.EntireRow.Hidden = True
End If
If Range("a111") = 0 Then
Rows("111:111").Select
Selection.EntireRow.Hidden = True
End If
If Range("a112") = 0 Then
Rows("112:112").Select
Selection.EntireRow.Hidden = True
End If
If Range("a113") = 0 Then
Rows("113:113").Select
Selection.EntireRow.Hidden = True
End If
If Range("a114") = 0 Then
Rows("114:114").Select
Selection.EntireRow.Hidden = True
End If
If Range("a115") = 0 Then
Rows("115:115").Select
Selection.EntireRow.Hidden = True
End If
If Range("a116") = 0 Then
Rows("116:116").Select
Selection.EntireRow.Hidden = True
End If
If Range("a117") = 0 Then
Rows("117:117").Select
Selection.EntireRow.Hidden = True
End If
If Range("a118") = 0 Then
Rows("118:118").Select
Selection.EntireRow.Hidden = True
End If
If Range("a119") = 0 Then
Rows("119:119").Select
Selection.EntireRow.Hidden = True
End If
If Range("a120") = 0 Then
Rows("120:120").Select
Selection.EntireRow.Hidden = True
End If
If Range("a121") = 0 Then
Rows("121:121").Select
Selection.EntireRow.Hidden = True
End If
If Range("a122") = 0 Then
Rows("122:122").Select
Selection.EntireRow.Hidden = True
End If
If Range("a123") = 0 Then
Rows("123:123").Select
Selection.EntireRow.Hidden = True
End If
If Range("a124") = 0 Then
Rows("124:124").Select
Selection.EntireRow.Hidden = True
End If
If Range("a125") = 0 Then
Rows("125:125").Select
Selection.EntireRow.Hidden = True
End If
If Range("a126") = 0 Then
Rows("126:126").Select
Selection.EntireRow.Hidden = True
End If
If Range("a127") = 0 Then
Rows("127:127").Select
Selection.EntireRow.Hidden = True
End If
If Range("a128") = 0 Then
Rows("128:128").Select
Selection.EntireRow.Hidden = True
End If
If Range("a129") = 0 Then
Rows("129:129").Select
Selection.EntireRow.Hidden = True
End If
If Range("a130") = 0 Then
Rows("130:130").Select
Selection.EntireRow.Hidden = True
End If
If Range("a131") = 0 Then
Rows("131:131").Select
Selection.EntireRow.Hidden = True
End If
If Range("a132") = 0 Then
Rows("132:132").Select
Selection.EntireRow.Hidden = True
End If
If Range("a133") = 0 Then
Rows("133:133").Select
Selection.EntireRow.Hidden = True
End If
If Range("a134") = 0 Then
Rows("134:134").Select
Selection.EntireRow.Hidden = True
End If
If Range("a135") = 0 Then
Rows("135:135").Select
Selection.EntireRow.Hidden = True
End If
If Range("a136") = 0 Then
Rows("136:136").Select
Selection.EntireRow.Hidden = True
End If
If Range("a137") = 0 Then
Rows("137:137").Select
Selection.EntireRow.Hidden = True
End If
If Range("a138") = 0 Then
Rows("138:138").Select
Selection.EntireRow.Hidden = True
End If
If Range("a139") = 0 Then
Rows("139:139").Select
Selection.EntireRow.Hidden = True
End If
If Range("a140") = 0 Then
Rows("140:140").Select
Selection.EntireRow.Hidden = True
End If
If Range("a141") = 0 Then
Rows("141:141").Select
Selection.EntireRow.Hidden = True
End If
If Range("a142") = 0 Then
Rows("142:142").Select
Selection.EntireRow.Hidden = True
End If
If Range("a143") = 0 Then
Rows("143:143").Select
Selection.EntireRow.Hidden = True
End If
If Range("a144") = 0 Then
Rows("144:144").Select
Selection.EntireRow.Hidden = True
End If
If Range("a145") = 0 Then
Rows("145:145").Select
Selection.EntireRow.Hidden = True
End If
If Range("a146") = 0 Then
Rows("146:146").Select
Selection.EntireRow.Hidden = True
End If
If Range("a147") = 0 Then
Rows("147:147").Select
Selection.EntireRow.Hidden = True
End If
If Range("a148") = 0 Then
Rows("148:148").Select
Selection.EntireRow.Hidden = True
End If
If Range("a149") = 0 Then
Rows("149:149").Select
Selection.EntireRow.Hidden = True
End If
If Range("a150") = 0 Then
Rows("150:150").Select
Selection.EntireRow.Hidden = True
End If
If Range("a151") = 0 Then
Rows("151:151").Select
Selection.EntireRow.Hidden = True
End If
If Range("a152") = 0 Then
Rows("152:152").Select
Selection.EntireRow.Hidden = True
End If
If Range("a153") = 0 Then
Rows("153:153").Select
Selection.EntireRow.Hidden = True
End If
If Range("a154") = 0 Then
Rows("154:154").Select
Selection.EntireRow.Hidden = True
End If
If Range("a155") = 0 Then
Rows("155:155").Select
Selection.EntireRow.Hidden = True
End If
If Range("a156") = 0 Then
Rows("156:156").Select
Selection.EntireRow.Hidden = True
End If
If Range("a157") = 0 Then
Rows("157:157").Select
Selection.EntireRow.Hidden = True
End If
If Range("a158") = 0 Then
Rows("158:158").Select
Selection.EntireRow.Hidden = True
End If
If Range("a159") = 0 Then
Rows("159:159").Select
Selection.EntireRow.Hidden = True
End If
If Range("a160") = 0 Then
Rows("160:160").Select
Selection.EntireRow.Hidden = True
End If
If Range("a161") = 0 Then
Rows("161:161").Select
Selection.EntireRow.Hidden = True
End If
If Range("a162") = 0 Then
Rows("162:162").Select
Selection.EntireRow.Hidden = True
End If
If Range("a163") = 0 Then
Rows("163:163").Select
Selection.EntireRow.Hidden = True
End If
If Range("a164") = 0 Then
Rows("164:164").Select
Selection.EntireRow.Hidden = True
End If
If Range("a165") = 0 Then
Rows("165:165").Select
Selection.EntireRow.Hidden = True
End If
If Range("a166") = 0 Then
Rows("166:166").Select
Selection.EntireRow.Hidden = True
End If
If Range("a167") = 0 Then
Rows("167:167").Select
Selection.EntireRow.Hidden = True
End If
If Range("a168") = 0 Then
Rows("168:168").Select
Selection.EntireRow.Hidden = True
End If
If Range("a169") = 0 Then
Rows("169:169").Select
Selection.EntireRow.Hidden = True
End If
If Range("a170") = 0 Then
Rows("170:170").Select
Selection.EntireRow.Hidden = True
End If
If Range("a171") = 0 Then
Rows("171:171").Select
Selection.EntireRow.Hidden = True
End If
If Range("a172") = 0 Then
Rows("172:172").Select
Selection.EntireRow.Hidden = True
End If
If Range("a173") = 0 Then
Rows("173:173").Select
Selection.EntireRow.Hidden = True
End If
If Range("a174") = 0 Then
Rows("174:174").Select
Selection.EntireRow.Hidden = True
End If
If Range("a175") = 0 Then
Rows("175:175").Select
Selection.EntireRow.Hidden = True
End If
If Range("a176") = 0 Then
Rows("176:176").Select
Selection.EntireRow.Hidden = True
End If
If Range("a177") = 0 Then
Rows("177:177").Select
Selection.EntireRow.Hidden = True
End If
If Range("a178") = 0 Then
Rows("178:178").Select
Selection.EntireRow.Hidden = True
End If
If Range("a179") = 0 Then
Rows("179:179").Select
Selection.EntireRow.Hidden = True
End If
If Range("a180") = 0 Then
Rows("180:180").Select
Selection.EntireRow.Hidden = True
End If
If Range("a181") = 0 Then
Rows("181:181").Select
Selection.EntireRow.Hidden = True
End If
If Range("a182") = 0 Then
Rows("182:182").Select
Selection.EntireRow.Hidden = True
End If
If Range("a183") = 0 Then
Rows("183:183").Select
Selection.EntireRow.Hidden = True
End If
If Range("a184") = 0 Then
Rows("184:184").Select
Selection.EntireRow.Hidden = True
End If
If Range("a185") = 0 Then
Rows("185:185").Select
Selection.EntireRow.Hidden = True
End If
If Range("a186") = 0 Then
Rows("186:186").Select
Selection.EntireRow.Hidden = True
End If
If Range("a187") = 0 Then
Rows("187:187").Select
Selection.EntireRow.Hidden = True
End If
If Range("a188") = 0 Then
Rows("188:188").Select
Selection.EntireRow.Hidden = True
End If
If Range("a189") = 0 Then
Rows("189:189").Select
Selection.EntireRow.Hidden = True
End If
If Range("a190") = 0 Then
Rows("190:190").Select
Selection.EntireRow.Hidden = True
End If
If Range("a191") = 0 Then
Rows("191:191").Select
Selection.EntireRow.Hidden = True
End If
If Range("a192") = 0 Then
Rows("192:192").Select
Selection.EntireRow.Hidden = True
End If
If Range("a193") = 0 Then
Rows("193:193").Select
Selection.EntireRow.Hidden = True
End If
If Range("a194") = 0 Then
Rows("194:194").Select
Selection.EntireRow.Hidden = True
End If
If Range("a195") = 0 Then
Rows("195:195").Select
Selection.EntireRow.Hidden = True
End If
If Range("a196") = 0 Then
Rows("196:196").Select
Selection.EntireRow.Hidden = True
End If
If Range("a197") = 0 Then
Rows("197:197").Select
Selection.EntireRow.Hidden = True
End If
If Range("a198") = 0 Then
Rows("198:198").Select
Selection.EntireRow.Hidden = True
End If
If Range("a199") = 0 Then
Rows("199:199").Select
Selection.EntireRow.Hidden = True
End If
If Range("a200") = 0 Then
Rows("200:200").Select
Selection.EntireRow.Hidden = True
End If
If Range("a201") = 0 Then
Rows("201:201").Select
Selection.EntireRow.Hidden = True
End If
If Range("a202") = 0 Then
Rows("202:202").Select
Selection.EntireRow.Hidden = True
End If
If Range("a203") = 0 Then
Rows("203:203").Select
Selection.EntireRow.Hidden = True
End If
If Range("a204") = 0 Then
Rows("204:204").Select
Selection.EntireRow.Hidden = True
End If
If Range("a205") = 0 Then
Rows("205:205").Select
Selection.EntireRow.Hidden = True
End If
If Range("a206") = 0 Then
Rows("206:206").Select
Selection.EntireRow.Hidden = True
End If
If Range("a207") = 0 Then
Rows("207:207").Select
Selection.EntireRow.Hidden = True
End If
If Range("a208") = 0 Then
Rows("208:208").Select
Selection.EntireRow.Hidden = True
End If
If Range("a209") = 0 Then
Rows("209:209").Select
Selection.EntireRow.Hidden = True
End If
If Range("a210") = 0 Then
Rows("210:210").Select
Selection.EntireRow.Hidden = True
End If
If Range("a211") = 0 Then
Rows("211:211").Select
Selection.EntireRow.Hidden = True
End If
If Range("a212") = 0 Then
Rows("212:212").Select
Selection.EntireRow.Hidden = True
End If
If Range("a213") = 0 Then
Rows("213:213").Select
Selection.EntireRow.Hidden = True
End If
If Range("a214") = 0 Then
Rows("214:214").Select
Selection.EntireRow.Hidden = True
End If
If Range("a215") = 0 Then
Rows("215:215").Select
Selection.EntireRow.Hidden = True
End If
If Range("a216") = 0 Then
Rows("216:216").Select
Selection.EntireRow.Hidden = True
End If
If Range("a217") = 0 Then
Rows("217:217").Select
Selection.EntireRow.Hidden = True
End If
If Range("a218") = 0 Then
Rows("218:218").Select
Selection.EntireRow.Hidden = True
End If
If Range("a219") = 0 Then
Rows("219:219").Select
Selection.EntireRow.Hidden = True
End If
If Range("a220") = 0 Then
Rows("220:220").Select
Selection.EntireRow.Hidden = True
End If
If Range("a221") = 0 Then
Rows("221:221").Select
Selection.EntireRow.Hidden = True
End If
If Range("a222") = 0 Then
Rows("222:222").Select
Selection.EntireRow.Hidden = True
End If
If Range("a223") = 0 Then
Rows("223:223").Select
Selection.EntireRow.Hidden = True
End If
If Range("a224") = 0 Then
Rows("224:224").Select
Selection.EntireRow.Hidden = True
End If
If Range("a225") = 0 Then
Rows("225:225").Select
Selection.EntireRow.Hidden = True
End If
If Range("a226") = 0 Then
Rows("226:226").Select
Selection.EntireRow.Hidden = True
End If
If Range("a227") = 0 Then
Rows("227:227").Select
Selection.EntireRow.Hidden = True
End If
If Range("a228") = 0 Then
Rows("228:228").Select
Selection.EntireRow.Hidden = True
End If
If Range("a229") = 0 Then
Rows("229:229").Select
Selection.EntireRow.Hidden = True
End If
If Range("a230") = 0 Then
Rows("230:230").Select
Selection.EntireRow.Hidden = True
End If
If Range("a231") = 0 Then
Rows("231:231").Select
Selection.EntireRow.Hidden = True
End If
If Range("a232") = 0 Then
Rows("232:232").Select
Selection.EntireRow.Hidden = True
End If
If Range("a233") = 0 Then
Rows("233:233").Select
Selection.EntireRow.Hidden = True
End If
If Range("a234") = 0 Then
Rows("234:234").Select
Selection.EntireRow.Hidden = True
End If
If Range("a235") = 0 Then
Rows("235:235").Select
Selection.EntireRow.Hidden = True
End If
If Range("a236") = 0 Then
Rows("236:236").Select
Selection.EntireRow.Hidden = True
End If
If Range("a237") = 0 Then
Rows("237:237").Select
Selection.EntireRow.Hidden = True
End If
If Range("a238") = 0 Then
Rows("238:238").Select
Selection.EntireRow.Hidden = True
End If
If Range("a239") = 0 Then
Rows("239:239").Select
Selection.EntireRow.Hidden = True
End If
If Range("a240") = 0 Then
Rows("240:240").Select
Selection.EntireRow.Hidden = True
End If
If Range("a241") = 0 Then
Rows("241:241").Select
Selection.EntireRow.Hidden = True
End If
If Range("a242") = 0 Then
Rows("242:242").Select
Selection.EntireRow.Hidden = True
End If
If Range("a243") = 0 Then
Rows("243:243").Select
Selection.EntireRow.Hidden = True
End If
If Range("a244") = 0 Then
Rows("244:244").Select
Selection.EntireRow.Hidden = True
End If
If Range("a245") = 0 Then
Rows("245:245").Select
Selection.EntireRow.Hidden = True
End If
If Range("a246") = 0 Then
Rows("246:246").Select
Selection.EntireRow.Hidden = True
End If
If Range("a247") = 0 Then
Rows("247:247").Select
Selection.EntireRow.Hidden = True
End If
If Range("a248") = 0 Then
Rows("248:248").Select
Selection.EntireRow.Hidden = True
End If
If Range("a249") = 0 Then
Rows("249:249").Select
Selection.EntireRow.Hidden = True
End If
If Range("a250") = 0 Then
Rows("250:250").Select
Selection.EntireRow.Hidden = True
End If

'ActiveSheet.PageSetup.PrintArea = "$B$1:$F$100"
'With ActiveSheet.PageSetup
'.LeftMargin = Application.InchesToPoints(0.118110236220472)
'.RightMargin = Application.InchesToPoints(0.118110236220472)
'.TopMargin = Application.InchesToPoints(0.078740157480315)
'.BottomMargin = Application.InchesToPoints(0.078740157480315)
'End With

With ActiveSheet.PageSetup
'.LeftHeader = ""
'.CenterHeader = ""
'.RightHeader = ""
'.LeftFooter = ""
'.CenterFooter = ""
'.RightFooter = ""
.LeftMargin = Application.InchesToPoints(0)
.RightMargin = Application.InchesToPoints(0)
.TopMargin = Application.InchesToPoints(0.78740157480315)
'.BottomMargin = Application.InchesToPoints(0)
'.HeaderMargin = Application.InchesToPoints(0)
'.FooterMargin = Application.InchesToPoints(0)
'.PrintHeadings = False
'.PrintGridlines = False
'.PrintComments = xlPrintNoComments
'.PrintQuality = -4
.CenterHorizontally = True
'.CenterVertically = False
'.Orientation = xlPortrait
'.Draft = False
'.PaperSize = xlPaperA4
'.FirstPageNumber = xlAutomatic
'.Order = xlOverThenDown
'.BlackAndWhite = False
.Zoom = 93
End With

Range("B1:F250").Select
Selection.PrintOut Copies:=2, Collate:=True
'Rows("1:100").Select
'Selection.EntireRow.Hidden = False
ActiveWindow.SelectedSheets.Delete
Range("a1").Select

End Sub



Dans l'attente de vos réponses les amis.
Merci
 

Pièces jointes

  • 3 - Devis.xls
    170.5 KB · Affichages: 94
Dernière édition:

Grand Chaman Excel

XLDnaute Impliqué
Re : Extension macro

Bonjour Benwill153 et bienvenue sur le forum,

Voici une macro qui boucle sur les onglets et imprime les lignes non vides si la cellule B6 est non vide.
A adapter selon tes besoins.

VB:
Sub ImprimeM()
    Dim ws As Worksheet
    Dim i As Integer
    
    Application.ScreenUpdating = False  'évite de rafraîchir l'écran, plus rapide
    
    For Each ws In ThisWorkbook.Worksheets     'boucle sur tous les onglets
        If ws.Range("B6") <> "" Then    'regarde si cellule B6 est vide
            ws.Select
            For i = 10 To 250       'boucle sur les lignes 10 à 250
                If Cells(i, 1) = "" Then
                    Rows(i).EntireRow.Hidden = True    'cache les lignes non vide
                Else
                    Rows(i).EntireRow.Hidden = False    'sinon affiche la ligne
                End If
            Next i
            
            'on imprime
            ws.Range("B1:F250").Select
            Selection.PrintOut copies:=2, collate:=True
            
        End If
    Next ws
    
    Application.ScreenUpdating = True
End Sub



Note : La prochaine fois, évite de mettre ton code entier dans ton message et joint un fichier à la place... ;)

A+
 

Benwill153

XLDnaute Nouveau
Re : Extension macro

Bonjour Grand Chaman Excel.

Je te remercie de ta réponse rapide, ton code fonctionne, pas besoin de reprendre tous les onglets un a un. par compte il ne prend pas en compte la mise en page et imprime toutes les lignes ne tiens pas compte de la colonne A si il faut imprimé ou pas. donc il m'imprime toutes les lignes.

Je joins le fichier sur mon premier message
 

Grand Chaman Excel

XLDnaute Impliqué
Re : Extension macro

Bonjour,

En effet, c'est parce que la vérification sur la colonne A n'étais pas correcte :
Vérifie aussi si c'est la cellule B6 qui doit être vérifiée car dans ton fichier exemple, cette cellule est toujours vide.
(voir les ***** dans le code ci-dessous)

VB:
Sub ImprimeM()
     Dim ws As Worksheet
     Dim i As Integer
     
    Application.ScreenUpdating = False  'évite de rafraîchir l'écran, plus rapide
    
     For Each ws In ThisWorkbook.Worksheets     'boucle sur tous les onglets
        If ws.Range("B5") <> "" Then    'regarde si cellule B6 est vide         *****
            ws.Select
            Debug.Print ws.Name
             For i = 10 To 250       'boucle sur les lignes 10 à 250
                If Cells(i, 1) = 0 Then   '******
                     Rows(i).EntireRow.Hidden = True    'cache les lignes non vide
                Else
                     Rows(i).EntireRow.Hidden = False    'sinon affiche la ligne
                End If
             Next i
             
            'on imprime
            ws.Range("B1:F250").Select
            Selection.PrintOut copies:=1, collate:=True
             
        End If
     Next ws
     
    Application.ScreenUpdating = True
 End Sub

A+
 

Staple1600

XLDnaute Barbatruc
Re : Extension macro

Bonsoir à tous


Une autre piste avec l'emploi du filtre automatique en VBA
Code:
Sub Macro1()
Dim ws As Worksheet
For Each ws In Worksheets
    With ws
    .Range("A1").AutoFilter Field:=1, Criteria1:="<>"
    .PageSetup.PrintArea = Range("A1").CurrentRegion.Address
    .PrintPreview 'ici pour tester le code ****
    .AutoFilterMode = False
    End With
Next ws
End Sub

PS: Test OK sur un classeur contenant 3 feuilles avec en ligne 1 le nom des entêtes
et quelques cellules vides en colonne A.

Pour vraiment imprimer les feuilles, remplacer la ligne contenant **** par
.PrintOut 1, True
 

Benwill153

XLDnaute Nouveau
Re : Extension macro

Bonjour,
Merci encore pour toutes les solutions apportées à mon problème.
Ton dernier code Grand Chaman Excel, marche très bien mais par compte ne reprend pas ma mise en page faite sur les 2 autres macros de mon fichier joint sur mon premier message.
As tu une solution magique ??
 

Benwill153

XLDnaute Nouveau
Re : Extension macro

Bonjour Staple 1600,
désolé du retard mais pas mal prit en ce moment par mon travail.
Oui je l'ai bien testé mais c'est la même chose il ne prends pas en compte les lignes ou il y a quelques chose en colonne A et ne reprend pas la mise en page de ma macro initiale du fichier joint sur mon premier message.
Si tu as une solution je suis preneur.
Encore merci pour vos aides et désolé du retard de mes réponses mais je suis vraiment noyé !!!
Cordialement,
 

Staple1600

XLDnaute Barbatruc
Re : Extension macro

Bonsoir à tous

Benwill153
Que te dire de plus ?
Ma proposition fonctionne sur mon PC.

Et toi de ton côté, ou es-tu de tes recherches dans les archives du forum et ailleurs sur le net ?

J'ai cherché un peu et il me semble qu'on parle d’accélérer le code dédié à la mise en page en utilisant le langage MacroXL4 PAGESETUP.
 

Benwill153

XLDnaute Nouveau
Re : Extension macro

Bonjour,
Ton dernier code Grand Chaman Excel, marche très bien mais par compte ne reprend pas ma mise en page faite sur les 2 autres macros de mon fichier joint sur mon premier message.
peut on adapter ta macro à ma mise en page ou l'inverse adapter mes 2 macros avec ta nouvelle mise en page car j'ai besoin que tous soit pareil quand l'un ou l'autre des macros.
ctrl + m imprime 3 fois l'onglet
ctrl + k imprime 1 fois l'onglet
ctrl + q imprime 1 fois l'ensemble des onglet dont D6 contient quelques choses.
 

Discussions similaires

Statistiques des forums

Discussions
311 733
Messages
2 082 008
Membres
101 864
dernier inscrit
elrecruiter