En-tête excel: référence à une cellule qui change pour chaque page

Résolu/Fermé
doubts - 26 mars 2019 à 14:08
cs_Le Pivert Messages postés 7903 Date d'inscription jeudi 13 septembre 2007 Statut Contributeur Dernière intervention 11 mars 2024 - 26 mars 2019 à 17:54
Bonjour,

Je dois imprimer un long calendrier (2 semaines par page). J'aimerais, dans l'en-tête de mon fichier, pouvoir afficher la première date et la dernière date de ma PAGE. Il me faut donc pouvoir faire une référence dans l'en-tête qui renvoie à une cellule de la page (donc qui change pour chaque page) - et non pas une référence à une cellule 'stable'. Est-ce possible??



Configuration: Windows / Firefox 66.0

1 réponse

cs_Le Pivert Messages postés 7903 Date d'inscription jeudi 13 septembre 2007 Statut Contributeur Dernière intervention 11 mars 2024 728
26 mars 2019 à 16:51
Bonjour,

voir ceci:

https://fring.developpez.com/vba/excel/entetepiedpage/

With ActiveSheet.PageSetup
     'en-tête de page
    .CenterHeader = ActiveSheet.Range("A1") 'a adapter
    'pied de page
    .CenterFooter = ActiveSheet.Range("A48") ' a adapter
End With

1
Cela renvoie, si je ne me trompe, à une cellule précise dans un onglet, mais cette cellule sera la même sur toutes les pages si mon onglet s'imprime sur plusieurs pages. P.ex. sur la page 1, il imprimera les lignes 1-50, page 2 les lignes 51-100 etc. Du coup, si j'aimerais, dans l'en-tête, la valeur de la cellule A1 sur la page 1, de la cellule A51 sur la page 2 etc. (sachant que le nombre de lignes par page n'est souvent pas régulier...). Est-ce possible?
0
cs_Le Pivert Messages postés 7903 Date d'inscription jeudi 13 septembre 2007 Statut Contributeur Dernière intervention 11 mars 2024 728
26 mars 2019 à 17:08
Voir cela

https://excel-malin.com/tutoriels/vba-tutoriels/vba-sauts-de-page/

et pour connaitre l'emplacement des cellules avec une boucle

'Boucle sur les sauts de pages horizontaux
For Each Hpb In ActiveSheet.HPageBreaks
    'Renvoie l'adresse de chaque cellule suivant le saut de page
    Hpb.Location.Select
    MsgBox Hpb.Location.Address
Next Hpb


a toi de jouer
0
excellent - merci! ça s'approche en effet! Maintenant si je veux lui dire non pas 'un saut de page toutes les 25/35/50 lignes' mais "chercher une valeur spécifique dans une colonne pour mettre un saut de page juste au-dessus de chacune des lignes où il trouve cette valeur"? (désolé je débute en VBA...)
0
cs_Le Pivert Messages postés 7903 Date d'inscription jeudi 13 septembre 2007 Statut Contributeur Dernière intervention 11 mars 2024 728
26 mars 2019 à 17:54
voir ceci pour une recherche dans une colonne

https://forums.commentcamarche.net/forum/affich-37621992-methode-find-dans-vba-recherche-de-donnees-sous-excel#valeur-renvoyee

ensuite quand tu as trouvé ton numéro de ligne, tu te sers du lien excel malin saut de page qui t'indique la manière d'ajouter un saut de page sur une ligne donnée

Voilà ce n'est pas trop compliqué!
0