Comment sélectionner une zone d'impressiond'une ligne définie a une autre

Fermé
Alexcelmac Messages postés 10 Date d'inscription vendredi 29 septembre 2017 Statut Membre Dernière intervention 23 décembre 2020 - Modifié le 23 déc. 2020 à 04:28
franc38 Messages postés 197 Date d'inscription mercredi 23 avril 2008 Statut Membre Dernière intervention 27 février 2023 - 23 déc. 2020 à 06:34
Bonjour,



J'ai un tableau ressemblant a celui-ci, et j'aimerais pouvoir automatiquement sélectionner la zone d'impression allant du premier janvier au dernier vendredi de l'année en cours.

Je connais déjà les coordonnées de la case du premier janvier(évidemment): B1
J'ai aussi réussi a connaitre automatiquement la ligne correspondant au dernier vendredi souhaité: B2

J'aimerais sélectionner la zone d'impression correspondant aux cases (C,"valeur de B1": L,"valeur de B2"). C'est-dire, dans l'exemple ci-haut, le tableau complet (C3:L10)

Auriez-vous une idée de macro pour y arriver?

Suis sur Excel pour Mac 16.44

Configuration: Macintosh / Safari 14.0.2
A voir également:

1 réponse

franc38 Messages postés 197 Date d'inscription mercredi 23 avril 2008 Statut Membre Dernière intervention 27 février 2023 38
23 déc. 2020 à 06:34
Bonjour

tu as 2 solutions
la plus simple: choisir formule /gestionnaire de nom
si dans la liste il n'y a pas Zone_d_impression
clic sur nouveau et dans nom tu mets: Zone_d_impression
Sinon tu clic sur modifier
Dans les 2 cas dans la ligne: "Fait référence à" tu copie la formule suivante
=DECALER(Feuil1!$C$3:$L$3;;;NBVAL(Feuil1!$L$3:$L$100);)
La zone d'impression sera égale à C3 jusque L dernière cellule remplie

sinon par macro (qui se lancera en remplissant b1 et b2)
clic sur l'onglet de la feuille concernée et choisi "Visualiser le code"
sur la page copie la macro suivante
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column <> 2 Or Target.Row > 2 Then Exit Sub
If Len(Range("B1").Value) = 0 Or Len(Range("B2").Value) = 0 Then Exit Sub
ActiveSheet.PageSetup.PrintArea = ("C" & Range("B1").Value & ":L" & Range("B2").Value)
End Sub

A+ François
0