Impression avec liste déroulante

Bonjour à tous,

Débutante sur excel, il se peut que la réponse à ma question existe mais je ne l'ai pas trouvée ou comprise

Voilà, sur ma feuille excel, j'ai un tableau où je renseigne le menu de la semaine pour les convives. Je dois imprimer ce tableau autant de fois que j'ai de clients.

A l'heure actuelle, j'ai créé une liste déroulante afin de changer uniquement le nom du client dans une cellule avant d'imprimer. Mais je dois imprimer feuille par feuille en changeant "juste" le nom du client (d'après ma liste déroulante).

Comment pourrais-je faire pour automatiser tout cela ?

C'est-à-dire imprimer en une fois le menu avec le nom des clients correspondants.

Merci d'avance pour vos réponses!

Bonjour,

une réponse de principe:

Une macro pourrait être une solution, mais pour la mettre en œuvre, un classeur exemple sera nécessaire (pour savoir où prendre le nom des clients ...)...

A+

C'est bien ce qu'il me semblait, mais je ne vois pas comment coder et en plus je n'ai jamais fait de macro

Je vous joints le document.

Merci d'avance pour vos réponses.

Etant sous XL 2003, j'utilise un convertisseur qui me permet d'ouvrir les classeurs réalisés avec une version plus récente.

Mais avec ton classeur, le convertisseur mouline plus de 5mn puis plante....

A moins d'avoir une version xls, je ne pourrait pas t'aider sur ce coup.

A+

J'ai changé le format, en espérant que vous puissiez l'ouvrir...

un essai:

toutes les feuilles de menu (1, 10, 11, 13...) sont imprimées pour chaque nom de la plage A33 à A62 de la feuille "1" (j'ai supposé que cette liste était valable pour toutes les feuilles.

Attention les lignes masquées 60 et 61(qui est vide) donneront lieu à impression...

Sub Imprim_Menus()
Dim i, T, DL As Integer, sh As Worksheet
With Worksheets("1")
DL = .Range("A" & Rows.Count).End(xlUp).Row
T = .Range("A33:A" & DL)
End With
For Each sh In Worksheets
    If sh.Name <> "INFORMATIONS" And sh.Name <> "SUIVI APPRO " And sh.Name <> "SUIVI office)" Then
        sh.PageSetup.PrintArea = "$A$1:$J$30"
        For i = LBound(T, 1) To UBound(T, 1)
            sh.Range("E3") = T(i, 1)
            sh.PrintPreview  ' prévisualisation mettre apostrophe devant cette ligne pour supprimer la visualisation
            'sh.printout     ' supprimer l'apostrophe pour imprimer
        Next
    End If
Next
End Sub

coller ce code dans un module standard.

Dans l'état la macro ne provoque que la visualisation de chaque feuille, ce qui permet d'avoir une idée .

Pour lancer l'impression réelle :

  • supprimer la ligne : sh.PrintPreview '.... ou mettre un apostrophe devant
  • supprimer l'apostrophe devant la ligne : 'sh.printout ' ...

A+

J'ai testé ta macro. En effet, c'est bien ce qu'il me faut à 2-3 détails prés...

La liste des noms de la feuille 1 est invariable ; il s'agit des clients. J'ai modifié un peu car j'ai une spécificité.

En revanche quand j'exécute la macro, cela me donne la prévisulation des toutes les feuilles. Je n'ai pas le besoin d'imprimer toutes les feuilles du classeur en 1 fois, mais plutôt 1 feuille par semaine (correspondant aux menus de la semaine suivante) mais pour chaque client.

Est-ce qu'il faut alors faire une macro par feuille et pour chacune d'elles ?

De plus, que signifie cette phrase :

If sh.Name <> "INFORMATIONS" And sh.Name <> "SUIVI APPRO " And sh.Name <> "SUIVI office)" Then

Je n'imprime jamais ces trois feuilles ; ce sont mes analyses de données. Pourquoi les mettre dans la macro ?

Désolé je suis vraiment débutante en macro

If sh.Name <> "INFORMATIONS" And sh.Name <> "SUIVI APPRO " And sh.Name <> "SUIVI office)" Then

si le nom de la feuille n'est ni "INFORMATIONS" ni "SUIVI APPRO " ni "SUIVI office)" alors on fait le traitement.

Il n'y a que les feuilles de menus (1,10,...) qui seront imprimées...

Je regarde pour un menu d'impression paramétrable (liste client, feuille à imprimer, visualisation ou impression...)

4 fois que Excel plante à la sauvegarde du classeur avec le code fonctionnel.

Terminé pour aujourd'hui....

Il faut vraiment que je change de version XL

ub essai avec une Userform pour choisir les paramètres. (qui ne facilite pas la prévisualisation ...)

utiliser <CTRL> + i pour lancer la macro

A+

200impression-menus.zip (268.28 Ko)

Impeccable !! Cela fonctionne comme je le souhaitais !!

Merci infiniement.

Rechercher des sujets similaires à "impression liste deroulante"