Impression des feuilles suivant case dans tableau renseignée
Résolu
christophedir
Messages postés
201
Statut
Membre
-
christophedir Messages postés 201 Statut Membre -
christophedir Messages postés 201 Statut Membre -
Bonjour,
Je voudrais faire des impression de feuilles suivant mes besoins. J'aurrai donc besoin d'une macro, si la colonne D dans la feuille sommaire est renseignée alors faire l'impression de la feuille
Dans le fichier ci-joint, regardez dans l'onglet"sommaire" infos sur les zones a imprimer par feuille
PS : j'ai oublié de mettre un bouton pour lancer l'impression
https://www.cjoint.com/c/GDApywsqnP2
Cordialement
Je voudrais faire des impression de feuilles suivant mes besoins. J'aurrai donc besoin d'une macro, si la colonne D dans la feuille sommaire est renseignée alors faire l'impression de la feuille
Dans le fichier ci-joint, regardez dans l'onglet"sommaire" infos sur les zones a imprimer par feuille
PS : j'ai oublié de mettre un bouton pour lancer l'impression
https://www.cjoint.com/c/GDApywsqnP2
Cordialement
17 réponses
-
Bonjour,
Avez-vous des connaissances en VBA Excel ou pas ? -
bonjour,
EXCEL OUI VBA non, je sais suivre ce qui est écrit dans la macro et faire des changement, mais cela s'arrête là. -
Merci,
avez-vous besoin d'explications complémentaires?
Cldt -
Désolé,
mais quand je veurt ouvrir le fichier j'ai un massage d'erreur
"excel cannot open open the file because the format or extension is not valid
verify that the file has not been corrupted etc... -
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question -
J'ai chanfge en mettant "xlsm" a la fin du fichier et cela semble marcher
je vous tien au courant
merci à vous -
re
il y a trop de feuilles imprimées , je ne trouve pas dans la macro la sélection des zones a imprimer par onglet-
Re,
J'ai chanfge en mettant "xlsm"
C'etait deja un fichier xlsm !!!!!!!!!!!!!!!!!!!
Y a huit feuilles maxi imprimees et les zones d'impression sont celles definies dans la feuille sommaire, je regarde car en effet y a un bleme
La "macro" se trouve dans le module1
suite:
code modifie pour parametrage zone d'impressionSub Impression_Inventaires() With Worksheets("Sommaire") Nb_Imp = Application.CountIf(.Range("D9:D16"), "X") If Nb_Imp > 0 Then MsgBox Nb_Imp & " feuille(s) a imprimmer" For n = 9 To 16 If UCase(.Cells(n, 4)) = "X" Then 'impression selectionnee wsh = .Cells(n + 12, 2) 'nom de feuille a imprimmer Zprt = .Cells(n + 12, 3) 'zone d'impression With Worksheets(wsh) .PageSetup.PrintArea = Zprt .PrintOut 'lance impression End With End If Next n Else MsgBox "Pas d'impression programmée!" End If .Activate End With End Sub
-
-
Super, j'ai fais quelque test tout est ok, je vais continué à le tester.
Si je ne rencontre pas de problème jusqu"à samedi nuit je clôturerai la discussion.
Merci à vous
J'ai parlé trop vite
"run time error '9'
dans la macro ligne : With Worksheets(wsh) est en jaune -
-
j'ai aussi
worksheet(wsh)=<subscript out of range
selon que je mets le curseur devant ou derrière la ligne -
-
désole je ne vois pas ???
J'ai juste enlevé les commentaires que j'avais mis et arrangé la mise en forme en faisant attention de ne pas décaler de cellule -
la je parle de la feuille Excel et non pas de la macro
macro je n'ai rien touché ou enlevé -
-
ok d'accord, j'avais pas que la macro utilisé ce tableau
j'ai retélécharger votre fichier remis la bonne macro et je vais veiller a cacher les cellules sans les supprimées.
Merci et désolé
cordialement -
re
je vais continué à le tester.
Si je ne rencontre pas de problème jusqu"à samedi nuit je clôturerai la discussion.-
Bonjour,
Une autre solution pour ne pas avoir ces cellules de parametrage, utilisez deux Tableaux avec le contenu de ces cellules,
ex:Sub Impression_Inventaires_1() Dim TFeuille, TZoneImp, Nb_Imp As Integer, NF As Integer, n As Integer TFeuille = Array("Zone Process & ligne 4", "Zone APV L1", "Vortex et Pamoma" & _ "Zone Cermex L1", "Zone APV L2", "Zone Vortex L2", "Zone Cermex L2" & _ "Zone SKA L1&L2") TZoneImp = Array("A1:I14", "A1:I10", "A1:I10", "A1:I10", "A1:I10", "A1:I10", "A1:I17", "A1:I17") With Worksheets("Sommaire") Nb_Imp = Application.CountIf(.Range("D9:D16"), "X") If Nb_Imp > 0 Then MsgBox Nb_Imp & " feuille(s) a imprimmer" NF = 0 For n = 9 To 16 If UCase(.Cells(n, 4)) = "X" Then 'impression selectionnee With Worksheets(TFeuille(NF)) .PageSetup.PrintArea = TZoneImp(NF) 'Zone d'impression .PrintOut 'lance impression End With End If NF = NF + 1 Next n Else MsgBox "Pas d'impression programmée!" End If .Activate End With End Sub
-
-
Bonjour,
je travail cette nuit je le testerais ce soir. Mais la première version est bonne suffira juste que je protège la feuille et de rajouter dans la macro le faite que le bouton d'impression reste fonctionnel. -
Bonjour f894009,
test ok, je garde la première version de la macro, protèger les cellules et la feuille.
Merci
