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 -
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

17 réponses

  1. f894009 Messages postés 17417 Date d'inscription   Statut Membre Dernière intervention   1 717
     
    Bonjour,

    Avez-vous des connaissances en VBA Excel ou pas ?
    0
  2. christophedir Messages postés 201 Statut Membre
     
    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à.
    0
    1. f894009 Messages postés 17417 Date d'inscription   Statut Membre Dernière intervention   1 717
       
      Re,
      Bien, je vous fais un code pas trop complique
      A+
      0
  3. christophedir Messages postés 201 Statut Membre
     
    Merci,
    avez-vous besoin d'explications complémentaires?

    Cldt
    0
    1. f894009 Messages postés 17417 Date d'inscription   Statut Membre Dernière intervention   1 717
       
      Re,
      Non, fichier modifie avec bouton et macro

      https://www.cjoint.com/c/GDBnfwzjvMf
      0
  4. christophedir Messages postés 201 Statut Membre
     
    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...
    0
    1. f894009 Messages postés 17417 Date d'inscription   Statut Membre Dernière intervention   1 717
       
      Re,
      essayez avec ce lien car vous etes le deuxieme qui signale ce probleme

      https://mon-partage.fr/f/aWRDSDj8/
      0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. christophedir Messages postés 201 Statut Membre
     
    J'ai chanfge en mettant "xlsm" a la fin du fichier et cela semble marcher

    je vous tien au courant

    merci à vous
    0
  7. christophedir Messages postés 201 Statut Membre
     
    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
    0
    1. f894009 Messages postés 17417 Date d'inscription   Statut Membre Dernière intervention   1 717
       
      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'impression
      Sub 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
      0
  8. christophedir Messages postés 201 Statut Membre
     
    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
    0
    1. f894009 Messages postés 17417 Date d'inscription   Statut Membre Dernière intervention   1 717
       
      Re,

      passez le curseur souris sur wsh quand la ligne est surlignee pour voir son contenu
      Chez moi, y a pas d'erreur...
      0
  9. christophedir Messages postés 201 Statut Membre
     
    re
    wsh=empty
    0
    1. f894009 Messages postés 17417 Date d'inscription   Statut Membre Dernière intervention   1 717
       
      Re,

      Vous utilisez le meme fichier?
      Mettez- le a dispo
      0
  10. christophedir Messages postés 201 Statut Membre
     
    j'ai aussi
    worksheet(wsh)=<subscript out of range
    selon que je mets le curseur devant ou derrière la ligne
    0
    1. f894009 Messages postés 17417 Date d'inscription   Statut Membre Dernière intervention   1 717
       
      Re,
      Oui, c'est la signification de l'erreur, reference a un objet inconnu
      Mettez votre fichier a dispo
      0
  11. christophedir Messages postés 201 Statut Membre
     
    0
    1. f894009 Messages postés 17417 Date d'inscription   Statut Membre Dernière intervention   1 717
       
      Re,
      Dites voir, vous vous foutez de moi ou pas

      Ou est passee la plage de cellules qui permetait de definir les zones de cellules a imprimer?????????????????????????????????????????
      0
  12. christophedir Messages postés 201 Statut Membre
     
    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
    0
  13. christophedir Messages postés 201 Statut Membre
     
    la je parle de la feuille Excel et non pas de la macro
    macro je n'ai rien touché ou enlevé
    0
  14. f894009 Messages postés 17417 Date d'inscription   Statut Membre Dernière intervention   1 717
     
    Re,
    Ah Bon, a droite le fichier que je vous ai modifie et a gauche celui que vous venez de mettre a dispo

    0
  15. christophedir Messages postés 201 Statut Membre
     
    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
    0
    1. f894009 Messages postés 17417 Date d'inscription   Statut Membre Dernière intervention   1 717
       
      Re,
      Y a pas d"lezard. Le code utilise ces cellules pour parametrer l'impression
      0
  16. christophedir Messages postés 201 Statut Membre
     
    re
    je vais continué à le tester.

    Si je ne rencontre pas de problème jusqu"à samedi nuit je clôturerai la discussion.
    0
    1. f894009 Messages postés 17417 Date d'inscription   Statut Membre Dernière intervention   1 717
       
      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
      
      
      
      
      0
  17. christophedir Messages postés 201 Statut Membre
     
    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.
    0
  18. christophedir Messages postés 201 Statut Membre
     
    Bonjour f894009,

    test ok, je garde la première version de la macro, protèger les cellules et la feuille.

    Merci
    0