En-tête excel: référence à une cellule qui change pour chaque page
Résolu
doubts
-
cs_Le Pivert Messages postés 8437 Statut Contributeur -
cs_Le Pivert Messages postés 8437 Statut Contributeur -
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??
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
-
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
-
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?
-
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 -
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...)
-
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é!
-