Définir une zone d'impression en fonction d'un critère

Bonjour à tous,

Ce site est ma référence sur excel VBA, j'y trouve régulièrement des astuces me permettant de palier à mes lacunes sur VBA.

Mais cette fois je ne trouve pas de problème similaire au mien, j'espère que vous allez pouvoir m'aider...

J'ai crée un planning d'équipe pour l'année présenté sous la forme suivante :

=> en-tete de ligne on retrouve les noms des personnes,

=> en-tête de colonne : le mois, ligne suivante la date, ligne suivante le jour ... sachant que les données mensuelles sont en continues en colonne.

dans le 1er onglet, les personnes saisissent leurs différentes permanences à tenir, les congés ...

dans 2nd onglet, j'ai un planning récapitulatif pour 2 personnes en particulier que nous devons faire remonter au responsable, tous les mois. Le 2 nd onglet reprend le contenu du 1er, jusque là c'est simple.

Je souhaite automatiser au max cette feuille pour permettre à son utilisateur d'y passer le moins de temps possible. A cet effet, je veux lui permettre de choisir un mois dans une liste déroulante et en cliquant sur envoyer, que la page du mois concerné soit envoyées sous format pdf à son destinataire, par mail. Voilà ce que j'ai déjà fait :

  • en cellule A10, il peut choisir le mois dans une liste
  • nommé les plages de cellules en mois : janvier, février, ...
  • procédé à la mise en page = 1 page par mois, avec rappel des titres de lignes

Pouvez-vous m'aider à construire la macro , Pour rappel je voudrai qu'en fonction de ce qui est choisi en cellule A10, et en cliquant sur envoyer, la plage correspondant au nom soit définie en zone d'impression, transformée en pdf, et ajoutée en tant que fichier dans un mail.

Au plaisir de vous lire

Bonjour didine51

Avec un petit fichier exemple ce serait plus simple pour te répondre !!

Bonjour Andréa73,

Merci pour ton retour. Voici le fichier simplifier, j'ai ajouté un petit commentaire en A25 de la 1ère feuille. En espérant que vous pourrez m'aider

(re)

En regardant ta PJ j'ai besoin d'une précision (ou plus)

  1. Tu voudrais que seulement nathalie1 et nathalie9 passe automatiquement dans la feuille "abs et back-up" ?
  2. Puis une fois le transfert effectué tu voudrais que les mois sélectionné soit envoyer au format PDF par courriel ?

C'est tout à fait ça !

Voilà ce que j'ai fait finalement pour imprimer uniquement le mois choisi :

Sub Selection()

' test si aucun mois n'est sélectionné

Range("A10").Select

If ActiveCell.FormulaR1C1 = "" Then

ActiveSheet.PageSetup.PrintArea = "C2:JB6"

ElseIf ActiveCell.FormulaR1C1 = "janvier" Then

' là j'appelle ma plage nommée

Range("janvier").Select

ActiveSheet.PageSetup.PrintArea = "janvier"

'meme démarche pour les mois suivants

Qu'en penses-tu ?

Rechercher des sujets similaires à "definir zone impression fonction critere"