Macro Excel 2011 pour piloter un choix d'impression

Résolu
Bonjour,

Je vous expose mon projet :
Il s'agit d'un classeur Excel dont le but est de piloter un service de fabrication en lui fournissant la liste des pièces à mettre en œuvre.
Il y a une centaine de références au catalogue, et chaque feuille contient le listing des pièces à mettre en œuvre pour fabrication.
Ce classeur contient donc autant de feuilles que de références d'objets à fabriquer, plus 3.
En effet, j'ai 3 familles d'objet.
Ex : pour 60 objets, j'ai 63 feuilles qui représentent 3 familles de 20 objets plus les 3 feuilles qui "pilotent" l'impression.
Chacune de ces 3 feuilles est composée de 3 colonnes.
Colonne 1 : réf de l'objet
Colonne 2 : nombre de d'impressions souhaitées
Colonne 3 : le bouton qui active la macro "imprimer"
J'ai vu un classeur identique fonctionner, mais mes connaissances d'Excel ne me permettent pas de réaliser ces 3 feuilles.

Merci pour votre aide.

9 réponses

  1. Bonjour,

    Ok, il faudrait mettre a disposition un classeur modele avec la structure du classeur de travail et des donnees bidons mais coherantes, plus explications pour le ou les choix d'impressions

    Pour transmettre un fichier,
    Veillez a ce qu'il n'y ait PAS DE DONNEES CONFIDENTIELLES
    il faut passer par un site de pièce jointe tel que cjoint.com

    Allez sur ce site : https://www.cjoint.com/
    Clic sur parcourir,
    Cherche ton fichier,
    clic sur ouvrir,
    Clic sur "Créer le lien cjoint",
    Copier le lien,
    Revenir ici le coller dans une réponse...
    0
    1. Bonjour, et merci pour votre réponse

      Voici un lien vers mon classeur.
      Les feuilles 1 à 3 sont réservées à l'impression. Il y a un petit dessin expliquant le mode d'emploi plutôt simple : il s'agit de taper le nombre d'exemplaires que l'on désire imprimer, puis, cliquer sue le bouton "'imprimer".
      Je crois que ça fonctionne avec une seule macro pour toutes les feuilles.

      Question subsidiaire, comment ajouter des feuilles "référence" et les associer à la macro?

      http://www.cjoint.com/c/FGricj0Xykc
      0
      1. Re,
        Vous avez du code dans le VBA des feuilles Familles et des boutons sur les feuilles mais pas de lien entre ces deux choses. Dans ce code il y a Userform1.hide et pas de Userform !!!!!!!!!!!!

        Question subsidiaire
        Pas de probleme particulier!!!! Tout depend de comment le nom de feuille est ajoute, manuellement ou automatiquement si le nom le permet

        Pour moi, un seul bouton imprimer suffirait par feuille famille en testant les colonnes Qte

        Sure que c'est sur un MAc en Excel2011 ??
        0
        1. Re,

          Oui, il y a du code car des collaborateurs ont essayé de faire fonctionner la macro (qui a été supprimée)

          Question subsidiaire : le nom de feuille doit être ajouté manuellement.

          Je ne comprends pas la solution bouton unique, avez vous un exemple ?

          Effectivement, je travaille sur mon Mac perso en Excel 2011 le fichier qui tourne en réalité sous Windows...
          0
          1. Re,

            Un seul bouton par feuille famille. J'ai modifie pour la famille 1

            https://www.cjoint.com/c/FGrnfVCXcef

            A vous de voir si vous pouvez modifier les deux autres

            Structure:

            une macro par bouton et une macro pour l'impression

            PS: change fichier suite erreurs
            0
          2. @f894009Re re ;o)

            Bon, le bouton famille 1 n'apparaît pas sur mon Mac...

            Entre temps, j'ai retrouvé un fichier avec la macro originale.
            Pouvez vous m'aider et m'expliquer comment ajouter une feuille sur ce fichier si je vous le transmets ?
            0
        2. Oups, j'ai trouvé le bouton, mais lorsque je le clique, Excel ne trouve pas la macro.
          0
          1. Re,

            Au moment de l'ouverture de votre fichier, Excel me dit que une partie de son contenu est illisible, et me propose de le réparer. Je clique sur Oui, ensuite il me propose 2 fois d'ouvrir les macros, ensuite, une fois le fichier ouvert, l'impression ne fonctionne pas, j'ai le message "Impossible de trouver la macro" il y a des moments, je regrette d'avoir un Mac...
            Pouvez vous m'envoyer le code de votre macro ? Et m'expliquer comment ajouter des feuilles ?
            Merci
            0
            1. Re,

              je regrette d'avoir un Mac...
              Ben, le fichier de depart, je l'ai fait sur un Mac et ensuite je suis passe sur un PC et pas de probleme.

              code dans un Module et affecter la macro F1_Impressions au bouton dans Famille 1

              Sub F1_Impressions()
                  Dim derlig As Long, N As Long
                  
                  With Worksheets("Famille 1")
                      derlig = .Range("B100").End(xlUp).Row
                      If derlig > 2 Then
                          For N = 3 To derlig
                              If .Range("B" & N) <> "" Then
                                  Call Impression(.Range("A" & N), .Range("B" & N))
                              End If
                              .Range("B" & N) = ""
                          Next N
                      End If
                      derlig = .Range("G100").End(xlUp).Row
                      If derlig > 2 Then
                          For N = 3 To derlig
                              If .Range("G" & N) <> "" Then
                                  Call Impression(.Range("F" & N), .Range("G" & N))
                              End If
                              .Range("G" & N) = ""
                          Next N
                      End If
                      derlig = .Range("L100").End(xlUp).Row
                      If derlig > 2 Then
                          For N = 3 To derlig
                              If .Range("L" & N) <> "" Then
                                  Call Impression(.Range("K" & N), .Range("L" & N))
                              End If
                              .Range("L" & N) = ""
                          Next N
                      End If
                      derlig = .Range("Q100").End(xlUp).Row
                      If derlig > 2 Then
                          For N = 3 To derlig
                              If .Range("Q" & N) <> "" Then
                                  Call Impression(.Range("P" & N), .Range("Q" & N))
                              End If
                              .Range("Q" & N) = ""
                          Next N
                      End If
                      .Activate
                  End With
              
              End Sub
              
              Sub F2_Impressions()
              
              End Sub
              
              Sub F3_Impressions()
              
              End Sub
              
              Sub Impression(Feuil As String, Qte)
                  Worksheets(Feuil).PrintOut Copies:=Qte
              End Sub
              0
            2. Re,

              Je viens de repasser sur Mac et aucun problème de fonctionnement !!!!!

              Pour ajouter une feuille, faire defiler jusqu'a la dernière feuille a droite, clic sur le signe "+" après cette dernière
              0
            3. @f894009Re,

              Hum... je suis passé d'un MacBook à un Imac, et, votre fichier fonctionne avec l'Imac...

              Si je comprends bien, il me "suffit" de copier les lignes 2 à 42 et de les insérer ligne 47 et 51. C'est ça ?
              0
            4. @Utilisateur anonymeRe,

              codes

              f894009 - 17 juil. 2016 à 17:43

              et

              Ajout feuille

              f894009 - 17 juil. 2016 à 17:53
              0
          2. Re,

            Oui, Mac vers PC, ça marche, c'est PC vers Mac ne marche pas.
            Merci pour le code. Si je comprends bien, il me "suffit" de copier les lignes 2 à 42 et de les insérer ligne 47 et 51. C'est ça ?
            Puis je abuser et vous demander comment ajouter une(des) feuille(s).
            Merci.
            0
            1. Re,

              c'est PC vers Mac ne marche pas.
              lisez ceci: f894009 - 17 juil. 2016 à 17:31, juste au dessus de votre message

              Pour le code des deux autres macro, c'est le meme que le premier en adaptant nom de feuille et colonnes cellules
              0
            2. @f894009Re,

              Je suis allé trop vite, je n'ai pas précisé que je faisais référence à ce qui se passe chez moi. Vous utilisez Excel 2011 ?
              Lorsque je rajouterai une feuille, est ce qu'elle sera prise en compte par la macro ?
              0
            3. @Utilisateur anonymeRe,

              Mac: Excel2011
              PC: Excel2013

              Mettre le nom de la nouvelle feuille dans la feuille famille (ah! des koates) a la suite de celles deja inscrites et dans la bonne colonne
              0
            4. @f894009Re,

              Je viens d'essayer l'ajout de feuille, ça marche. Je fais donc la bonne manip. Votre macro est géniale !

              Il me reste un dernier point : la recopie du code pour les 2 autres familles.
              Est ce que vous voulez bien me détailler la manip, vous l'aurez compris, je ne suis pas expert.

              Merci encore
              0
          3. Finalement, je suis parvenu à faire fonctionner les autres familles.

            Merci beaucoup.
            0