Boostez vos compétences Excel avec notre communauté !
Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force.
Apprenez, échangez, progressez – et tout ça gratuitement !
👉 Inscrivez-vous maintenant !
Je travailles sur un projet qui va vite devenir une usine a gaz sans aide
Voici la problématique
Je voudrais pouvoir insérer des bas de page (cf feuille2) sous forme de tableaux qui viennent de la page 1 avec une pagination sous la forme 1/3, 2/3 et 3/3 si une cellule(ad57) qui correspondont à la page 2 est renseignée et si ad113 qui correspondont à la page 3 est renseignée avec la possibilité d'évoluer jusqu' à 10 pages mais uniquement lors de l'impression c'est à dire que les bas de page ne sont pas visibles dans le tableau en feuille 2 qui doit rester sous forme de base de données
L'idée est de pouvoir imprimer les bas de page correspondant si les cellules "alertes" sont renseignées comme dans l'exemple sur 3 pages en sachant qu'il n'y aura pas de vides entre les cellules en colonne AD. Les bas de pages aont une séquence de 45 lignes
Merci de votre aide
Je suis à votre disposition pour des infos complémentaires si nécessaire
Je ne sais pas si c'est possible de mettre un tableau correspondant à une plage de cellules dans un pied de page. J'ai essayé, mais sans succès.
Donc j'ai fait ceci:
Feuille1 : tu as les 10 modèles de bas de page.
Feuille2 : J'ai nommé les 10 zones de bas de page (Zone1, Zone2.....Zone10).
Feuille3 : Colonne A, les 10 zones d'impression de la feuille 2, Colonne C les 10 zones de bas de page de la feuille 1.
Sur la feuille 2 les cellules d'alertes sont :
AD56,112,168,224,280,336,392,448,504,560
Click sur le bouton "Imprimer", si une de ces cellules est non vide, la page correspondante sera imprimée.
Dans la macro, pour l'instant tu as une pré-visualisation de la page. Pour imprimer réellement supprime la ligne : .PrintPreview et enlève l'apostrophe devant cette ligne : .PrintOut Copies:=1, Collate:=True
Je ne sais pas si ça va répondre à ta question mais je ne vois pas comment faire autrement 😕.
Code:
Sub Bas_Page()
Dim K As Integer, R As Integer, x As Byte, i As Long
Application.ScreenUpdating = True
With Sheets("Feuil2")
K = 1
R = 1
For i = 56 To 560 Step 56
If .Range("AD" & i) <> "" Then
ActiveSheet.PageSetup.PrintArea = Sheets("Feuil3").Cells(K, 1)
Sheets("Feuil1").Range(Sheets("Feuil3").Cells(K, 3)).Copy .Range("Zone" & K)
.Range("Zone" & K).RowHeight = 12.75
.Range("AE" & i - 1) = R
.PrintPreview
'.PrintOut Copies:=1, Collate:=True
R = R + 1
End If
K = K + 1
Next
End With
ActiveSheet.PageSetup.PrintArea = ""
For x = 1 To 10
Range("Zone" & x).Clear
Next
Application.ScreenUpdating = False
End Sub
- Navigue sans publicité - Accède à Cléa, notre assistante IA experte Excel... et pas que... - Profite de fonctionnalités exclusives Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel. Je deviens Supporter XLD