Impression de plusieurs feuilles sur 1 page avec conditions

Bonjour à tous,

Je suis un nouveau adhérent au forum et je débute en langage VBA.

Il me reste des notions de langage C++ mais je vois bien que ce n'est pas la même chose.

Je rencontre une difficulté à créer une macro pour imprimer plusieurs feuilles d'un même classeur sur 1 seule feuille.

Mais il n'y a pas que ça...

Chaque feuille comporte un tableau. Dans chaque tableaux il y a une colonne choix où l'utilisateur met "1" pour faire son ou ses choix.

Une macro est déjà en place pour n'afficher que les lignes où le choix est "1".

Je souhaiterais que sur mon impression apparaisse tous les tableaux (préalablement filtrés sur "1") avec le titre de chaque tableau au dessus.

Je ne peux pas partager le classeur actuel (données confidentielles) mais n'hésitez pas à me contacter si vous avez besoin de plus d'informations.

Je vous remercie par avance pour l'aide que vous pourrez m'apporter.

Bonjour et bienvenue sur le forum

Tu écris :

Je ne peux pas partager le classeur actuel (données confidentielles)

Alors, remplace ces données par des données bidons mais sans ton fichier, il sera difficile de donner suite....

Bye !

Bonjour gmb,

J'ai joint un fichier où il y a 3 feuilles.

Sur chaque feuille il y a un tableau avec des types,options et matériel.

L'utilisateur doit mettre un 1 dans la colonne "choix".

Je souhaiterai qu'à l'impression les 3 feuilles s'impriment sur 1 seule page (recto ou recto/verso) mais seulement les lignes où il y a "1" dans la colonne choix.

De plus, j'aimerais que les titres des feuilles s'affichent au dessus de chaque tableau.

A savoir que dans mon fichier de base, j'ai déjà une macro qui filtre les "1" pour que seules ces lignes s'affichent.

J'espère que je suis clair dans mes explications et te remercie par avance.

Cordialement.

30test-forum.xlsm (12.49 Ko)

Bonjour

Un essai qui rassemble sur une feuille les données prêtes à imprimer.

Cela te convient-il ?

Bye !

50test-forum-v1.xlsm (28.09 Ko)

Gmb,

L'essai est vraiment concluant, je l'intègre à mon fichier et je reviens vers toi si besoin.

Merci à toi, c'est cool !

Bonjour gmb,

J'ai retravaillé ton code pour l'intégrer à mon fichier, mais problème Excel m'affiche un problème d'exécution et me surligne "With Sheets(liste(i))" en jaune.

Parmis les modifications que j'ai apportées :

  • j'ai changé la liste avec les noms de mes onglets
  • j'ai modifié les "A" en "E" car mon tableau à importer commence à la colonne E
  • j'ai modifié la colonne où le choix est fait (colonne O)

Merci d'avance pour ton aide.

Option Explicit

Dim liste, i&, derln&, ln&, lgn&, fa As Worksheet

Sub Importer()

liste = Array("Options obligatoires", "Options préconisés", "Options facultatives", "Options supplémentaires", "Matériel", "Options spécifiques")

Set fa = Sheets("A imprimer")

fa.Cells.Clear

For i = 0 To UBound(liste)

With Sheets(liste(i))

derln = .Range("E" & Rows.Count).End(xlUp).Row

If WorksheetFunction.SumIf(.Range("O2:O" & derln), 1) > 0 Then

lgn = fa.Range("E" & Rows.Count).End(xlUp).Row

If lgn > 1 Then lgn = lgn + 2

.Range("E1:O1").Copy fa.Range("E" & lgn)

For ln = 2 To derln

If .Range("O" & ln) = 1 Then

.Range("E" & ln & ":O" & ln).Copy fa.Range("E" & lgn + 1)

lgn = lgn + 1

End If

Next ln

End If

End With

Next i

End Sub

Bonjour

Il faudrait que tu joignes le nouveau fichier...

Bye !

Bonjour,

Je te joins le fichier original avec de fausses données mais tu pourras surement mieux comprendre.

En fait l'utilisateur doit faire ses choix en mettant "1" dans la colonne choix sur les différents onglets et quand il arrive sur l'onglet "devis" il faut qu'il y est un récap de chaque tableau en annexe du devis qui s'imprime.

Les colonnes grisées dans les tableaux seront des colonnes masquées.

Merci.

26configurateur-v6.xlsm (486.56 Ko)

Bonjour

Nouvelle version à tester.

Bye !

44configurateur-v8.xlsm (496.07 Ko)

Bonsoir gmb et merci à toi pour le temps que tu m'accorde.

J'ai fais plusieurs test avec la dernière macro et j'ai essayer de comprendre le code que tu as fais pour progresser en VBA.

Mais il y a un bug que je n'arrive pas à comprendre :

Quand tu active la macro "importer", il y a les colonnes "prix d'achat" et "prix de vente" où il y a "#VALEUR!" mais pas partout, et pourtant tous les tableaux sont fait sur la même base...

Deux autres interrogations, est-ce que les colonnes cachées peuvent ne pas s'importer dans la feuille "à imprimer" et est-il possible de faire la mise en page dans la macro (Ajuster à 1 page en largeur et max 4 pages en longueur)?

Cordialement.

Rechercher des sujets similaires à "impression feuilles page conditions"