Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
2783 connectés 

  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  Impression de feuille excel sous conditions

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Impression de feuille excel sous conditions

n°1910702
jojozekil
Woohoo !
Posté le 31-07-2009 à 15:34:46  profilanswer
 

Salut all !
 
J'ai un fichier Excel, une vraie usine à gaz, mais il marche super bien.
 

Code :
  1. Là je raconte ma life, si ça vous intéresse, sinon passez à la suite...
  2. Imaginons que je fabrique des PC qui peuvent être de couleur noire, de couleure blanche ou bicolores, et équipés en option d'un port RS232, d'un port parallèle, des deux ou de pas de port du tout.
  3. J'ai ainsi une feuille qui sert à tester le noir, un qui sert à tester le blanc. Si c'est du bicolore, je fais les deux tests.
  4. Idem pour les ports. J'ai une feuille par option.
  5. Actuellement, on entre sur une page principale les différentes caractéristiques et selon les tests que l'on doit faire, les feuilles inutiles sont grisées.


 
Ce que j'aimerais vu que le document contient en réalité 18 feuilles, c'est pouvoir imprimer uniquement les feuilles dont j'ai besoin en une seule fois.
 
J'ai pensé à choisir une cellule, par exemple E5 qui serait toujours la même dans toutes les feuilles. Si je veux imprimer la feuille, je mets la valeur de la cellule à 1, sinon à 0.
 
Ensuite avec une petite moulinette j'imprime toutes les feuilles dans lesquelles la cellule E5 vaut 1.
 
Bah c'est pour la moulinette que je coince. J'y connais rien en VB, et c'est la seule chose dont j'ai besoin...
 
Voiloù, merci à celles et ceux qui auront pris le temps de me lire, et merci encore plus à celles et ceux qui me répondront :jap:
 
++


Message édité par jojozekil le 03-08-2009 à 15:59:11

---------------
Le topic de mon feedback ici - Je suis rarement connecté le WE - Mes ventes sont également sur d'autres sites/forums
mood
Publicité
Posté le 31-07-2009 à 15:34:46  profilanswer
 

n°1911093
Moonschild
Posté le 03-08-2009 à 09:52:10  profilanswer
 

Bonjour,
 
Je ne suis pas sur d'avoir bien compris tes besoins, mais si je ne me trompes pas, tu veux cliquer sur "impression" sur un des classeurs, et que ça imprime seulement les classeurs (ou les feuilles ? J'ai un doute, car tu parles d'un documents contenant plusieurs classeurs, pour moi ca signifie un classeur contenant plusieurs feuilles... Dans le doute, je laisse les deux) avec la cellule E5 à 1...
 
Il faut pour cela créer une macro (que tu peux attribuer à une combinaison de touche) qui va parcourir tout les classeurs (ou feuilles) et verifier la valeur de H5
 

Code :
  1. Sub PrintingChoose
  2. dim wb
  3. For each wb in workbooks 'ou worksheets si tu veux parcourir les feuilles au lieu des classeurs
  4.   if wb.activesheet.range("E5" ).value = 1 then 'tu verifies la valeur de la cellule E5 dans la feuille active lors de l'ouverture du classeur. pour le parcours des feuilles au lieu des classeurs, il faut juste enlever ".activesheet"
  5.     wb.printout 'Lance l'impression du classeur/ de la feuille. Fais juste attention à ce que l'imprimante par défaut soit active
  6.   end if
  7. next
  8. End Sub


 
Si le principe de la combinaison de touche pour activer ta macro te plait, regarde du coté de "application.onkey". Si tu veux plus de détails, n'hésite pas ;)
 
Voila, j'espère t'avoir aidé.


---------------
Si Le Travail C'est La Santé, Donnez Le Mien A Quelqu'un De Malade
n°1911355
jojozekil
Woohoo !
Posté le 03-08-2009 à 16:32:12  profilanswer
 

Merci pour ton aide, je vais tester dès que je reprends le taf, c'est à dire fin aout ^^
En tout cas, tu as mis le doigt sur quelque chose, mon explication était confuse, et j'ai corrigé.
Partout où je parlais de classeurs, je voulais dire feuilles (les petits onglets en bas du document quoi).
J'ai corrigé.


---------------
Le topic de mon feedback ici - Je suis rarement connecté le WE - Mes ventes sont également sur d'autres sites/forums
n°1919274
jojozekil
Woohoo !
Posté le 28-08-2009 à 14:30:36  profilanswer
 

Ca fonctionne nickel. Bravo à toi et merci beaucoup :jap:


---------------
Le topic de mon feedback ici - Je suis rarement connecté le WE - Mes ventes sont également sur d'autres sites/forums
n°1919759
jojozekil
Woohoo !
Posté le 31-08-2009 à 09:31:07  profilanswer
 

Si je puis me permettre d'abuser...
Chaque impression de feuille est lancée de manière indépendante. Avec une imprimante "classique" pas de soucis, mais si on veut faire du recto-verso ou plus simplement un fichier pdf, genre avec pdfcreator, c'est plus coton.
Obligé d'enregistrer chaque page dans un fichier pdf qui lui est propre puis de fusionner le tout. Pas très pratique.
 
Peut-on modifier l'algo de la manière suivante :
Algo actuel

Code :
  1. Je parcours les feuilles de mon classeur
  2.   DEBUT BOUCLE
  3.     Si M1=1 Alors j'imprime la feuille
  4.   FIN BOUCLE


 
Algo amélioré

Code :
  1. Je parcours les feuilles de mon classeur
  2.   DEBUT BOUCLE
  3.     Si M1=1 Alors j'ajoute la feuille courante à ma sélection à imprimer
  4.   FIN BOUCLE
  5. J'imprime ma sélection


---------------
Le topic de mon feedback ici - Je suis rarement connecté le WE - Mes ventes sont également sur d'autres sites/forums
n°1920436
Wysi
Posté le 01-09-2009 à 20:38:13  profilanswer
 

Il y a une chance que ça marche mais je ne peux pas le tester là.
 

Code :
  1. Private Sub Impression()
  2.     Dim wksFeuille      As Worksheet
  3.     Dim strSelection()  As String
  4.     Dim i               As Long
  5.    
  6.     i = 0
  7.     For Each wksFeuille In ThisWorkbook.Sheets
  8.         If wksFeuille.Range("E5" ).value = 1 Then
  9.             ReDim Preserve strSelection(i)
  10.             strSelection(i) = wksFeuille.Name
  11.             i = i + 1
  12.         End If
  13.     Next wksFeuille
  14.     Sheets(strSelection).Select
  15.     ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True
  16. End Sub

n°1920522
jojozekil
Woohoo !
Posté le 02-09-2009 à 10:30:07  profilanswer
 

T'es un diable ! Ca marche encore mieux que l'ancienne méthode.
En effet je fais mes tests sur la case M1 de chaque page. Avec la première macro ça ne fonctionnait pas si M1 était verrouillée.
Maintenant ça ronronne.
 
Merci beaucoup. Si vous passez sur Créteil, je serais ravi d'étancher votre soif ;)


Message édité par jojozekil le 02-09-2009 à 10:30:39

---------------
Le topic de mon feedback ici - Je suis rarement connecté le WE - Mes ventes sont également sur d'autres sites/forums

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  Impression de feuille excel sous conditions

 

Sujets relatifs
Réorganiser une feuille de graphiques superposés avant impressionConvertir le résultat d'une requête SQL en fichier excel
excel...comment faire !Catcher une alerte dans une macro excel
Macro Excel : tableau dynamique[EXCEL] Liste clients -> recherche géographique
Bouton Excel associé à une macro[VBA][Excel][Word] Redimensionner Tableau
[Java] interférences entre OpenDialog et impression de jFrame (résolu) 
Plus de sujets relatifs à : Impression de feuille excel sous conditions


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR