Multi titres

Le
Fredo(67)
Bonjour.

J'ai un document Excel composé d'environ 8000 lignes
Ce document représente le métré d'un ensemble immobilier.

Cet ensemble immobilier est composé de 8 bâtiments

le batiment A occupe à peu près les 1000 1ères lignes
le B les 1000 suivantes.. ainsi de suite
bien sûr le nombre de lignes, ainsi que la hauteur de chaque ligne
varie pour chaque bâtiment.
Ce document n'est pas figé, et il et ammené à être modifié souven=
t.

Au début du métré de chaque batiment, ne ligne spéciale indique le
titre.


Ce que voudrais c'est qu'à l'impression du document, le nom du
batiment concerné apparaisse en haut de chaque page.

j'ai essayé de définir plusieurs lignes de titre, mais cela ne
fonctionne pas car les lignes de titres doivent être adgacentes.

Vous pourriez me conseiller d'insérer avant chaque page mon titre,
mais cela coupe le dynamisme du doc, et obligerait à refaire la manip
après chaque modification.

Une idée ?
Questions / Réponses high-tech
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Fredo(67)
Le #24285831
Opps désolé pour les multi message, ma session avait expiré.

Oui, Michdenis, ce serait une bonne solution, mais je ne peux
malheureusement pas éclater en plusieurs feuilles.

j'ai l'obligation de tout concerver sur une seule feuille.
pom...pom...pom..
Le #24286481
Bonsour®

"Fredo(67)" a écrit

Oui, Michdenis, ce serait une bonne solution, mais je ne peux
malheureusement pas éclater en plusieurs feuilles.

j'ai l'obligation de tout concerver sur une seule feuille.



utiliser les filtres et gestionnaire de vues (voir l'aide )
MichD
Le #24287131
Essaie ceci :

Dans la procédure, il y a quelques variables à modifier comme le nom "UNIQUE"
des bâtiments et le nom de la feuille où sont les données.

'---------------------------------------------------
Sub test()

Dim Arr(), DerCol As Integer, Rg As Range, T()
Dim X As Integer, Sh As Worksheet, DerLig As Long
Dim A As Integer, Elt As Variant, S As Integer

'Liste des noms des bâtiments à adapter
Arr = Array("Bâtiment1", "Bâtiment2", "Bâtiment3", "Bâtiment4", _
"Bâtiment5", "Bâtiment6", "Bâtiment7", "Bâtiment8")

'Nom Feuille à adapter
Set Sh = ThisWorkbook.Worksheets("Feuil1")

With Sh
DerCol = .Cells.Find(What:="*", _
LookIn:=xlFormulas, _
SearchOrder:=xlByColumns, _
SearchDirection:=xlPrevious).Column
S = 1: X = 1
For A = 1 To UBound(Arr)
With .Cells
Set Rg = .Find(What:=Arr(A), LookIn:=xlValues, _
lookat:=xlWhole)

If Not Rg Is Nothing Then
ReDim Preserve T(1 To S)
T(S) = Sh.Range(Sh.Cells(X, "A"), _
Sh.Cells(Rg.Row - 1, DerCol)).Address
S = S + 1
X = Rg.Row
If S = UBound(Arr) + 1 Then
DerLig = Sh.Cells.Find(What:="*", _
LookIn:=xlValues, _
SearchOrder:=xlByRows, _
SearchDirection:=xlPrevious).Row
ReDim Preserve T(1 To S)
T(S) = Sh.Range(Sh.Cells(X, "A"), _
.Cells(DerLig, DerCol)).Address
End If
End If
End With
Next
End With

A = 0
For Each Elt In T
With Sh
'Tu peux ajouter d'autres propriétés si besoin...
.PageSetup.PrintArea = Elt
.PageSetup.Order = xlOverThenDown
.PageSetup.CenterHeader = Arr(A)
.PrintPreview 'Après test, remplace par .PrintOut
.PageSetup.PrintArea = ""
End With
A = A + 1
Next

End Sub
'---------------------------------------------------



MichD
------------------------------------------
"Fredo(67)" a écrit dans le message de groupe de discussion :


Opps désolé pour les multi message, ma session avait expiré.

Oui, Michdenis, ce serait une bonne solution, mais je ne peux
malheureusement pas éclater en plusieurs feuilles.

j'ai l'obligation de tout concerver sur une seule feuille.
Fredo(67)
Le #24290841
Merci beaucoup,

je vais tester ça.

On 29 fév, 04:49, "MichD"
Essaie ceci :

Dans la procédure, il y a quelques variables à modifier comme le nom "UNIQUE"
des bâtiments et le  nom de la feuille où sont les données.

'---------------------------------------------------
Sub test()

Dim Arr(), DerCol As Integer, Rg As Range, T()
Dim X As Integer, Sh As Worksheet, DerLig As Long
Dim A As Integer, Elt As Variant, S As Integer

'Liste des noms des bâtiments à adapter
Arr = Array("Bâtiment1", "Bâtiment2", "Bâtiment3", "Bâtiment4", _
            "Bâtiment5", "Bâtiment6", "Bâtiment7", "B âtiment8")

'Nom Feuille à adapter
Set Sh = ThisWorkbook.Worksheets("Feuil1")

With Sh
    DerCol = .Cells.Find(What:="*", _
                    LookIn:=xlFormulas, _
                    SearchOrder:=xlByColumns, _
                    SearchDirection:=xlPrevious).Co lumn
    S = 1: X = 1
    For A = 1 To UBound(Arr)
        With .Cells
            Set Rg = .Find(What:=Arr(A), LookIn:=xlValu es, _
                    lookat:=xlWhole)

            If Not Rg Is Nothing Then
                ReDim Preserve T(1 To S)
                T(S) = Sh.Range(Sh.Cells(X, "A"), _
                    Sh.Cells(Rg.Row - 1, DerCol)).Add ress
                S = S + 1
                X = Rg.Row
                If S = UBound(Arr) + 1 Then
                    DerLig = Sh.Cells.Find(What:= "*", _
                            LookIn:=xlValue s, _
                            SearchOrder:=xl ByRows, _
                            SearchDirection: =xlPrevious).Row
                    ReDim Preserve T(1 To S)
                    T(S) = Sh.Range(Sh.Cells(X, "A" ), _
                            .Cells(DerLig, De rCol)).Address
                End If
            End If
        End With
    Next
End With

A = 0
For Each Elt In T
    With Sh
        'Tu peux ajouter d'autres propriétés si besoin...
        .PageSetup.PrintArea = Elt
        .PageSetup.Order = xlOverThenDown
        .PageSetup.CenterHeader = Arr(A)
        .PrintPreview 'Après test, remplace par .PrintOut
        .PageSetup.PrintArea = ""
    End With
    A = A + 1
Next

End Sub
'---------------------------------------------------

MichD
------------------------------------------
"Fredo(67)"  a écrit dans le message de groupe de discussion :


Opps désolé pour les multi message, ma session avait expiré.

Oui, Michdenis, ce serait une bonne solution, mais je ne peux
malheureusement pas éclater en plusieurs feuilles.

j'ai l'obligation de tout concerver sur une seule feuille.
LSteph
Le #24335761
Bonjour,

Absolument pas .. >éclater en plusieurs feuilles.

Le principe de "titres à répèter" ou définition d'un nom:
Impression_des_titres

te permet de répéter le titre< sur chaque page d'impression et n'éclate en
rien le document lui même.


Cordialement

--
LSteph

"Fredo(67)" news:
Opps désolé pour les multi message, ma session avait expiré.

Oui, Michdenis, ce serait une bonne solution, mais je ne peux
malheureusement pas éclater en plusieurs feuilles.

j'ai l'obligation de tout concerver sur une seule feuille.
Publicité
Poster une réponse
Anonyme