OVH Cloud OVH Cloud

saut de page suivant ordre alphabétique

4 réponses
Avatar
amt
bonjour à tous
en colonne A j'ai une liste de 1100 noms classés en ordre alphabétique
Je voudrais insérer un saut de page à chaque changement de première lettre
des noms
Comment m'y prendre?

4 réponses

Avatar
JpPradier
Bonjour amt

Tu mets ca dans un module et roule :

Sub Hopdepage()
lettre = LCase(Left(Range("a1"), 1))
For i = 1 To 1100
If LCase(Left(Range("a" & i), 1)) <> lettre Then
lettre = LCase(Left(Range("a" & i), 1))
ActiveWindow.SelectedSheets.HPageBreaks.Add Before:=Range("a" & i)
End If
Next
End Sub

j-p
Avatar
Nicolas B.
Salut amt,

Par une petite macro :

Sub SautPage()
Dim N As Long
N = 2
While Cells(N, 1) <> ""
If Left(Cells(N - 1, 1), 1) <> Left(Cells(N, 1), 1) Then
ActiveWindow.SelectedSheets.HPageBreaks.Add Before:Îlls(N, 1)
End If
N = N + 1
Wend
End Sub


A+
--
Nicolas B.

Adresse @adresse.bidon.com invalide,
E-mail : www.cerbermail.com/?gAAILfkPsC


bonjour à tous
en colonne A j'ai une liste de 1100 noms classés en ordre alphabétique
Je voudrais insérer un saut de page à chaque changement de première
lettre des noms
Comment m'y prendre?


Avatar
Jean-François Aubert
Salut amt,
encore une autre...
En A1 étiquette de colonne
En A2:A... les noms

Sub sautDePage()
Dim i, x
Dim t1, t2, t3
ActiveSheet.DisplayAutomaticPageBreaks = False
For i = 97 To 122
x = "=" & Chr(i) & "*"
[a1].AutoFilter Field:=1, Criteria1:=x, Operator:=xlAnd
t1 = Range("A2:A2000").SpecialCells(xlCellTypeVisible).Row
t2 = Evaluate("SUBTOTAL(3,a2:a2000)")
t3 = t1 + t2
ActiveWindow.SelectedSheets.HPageBreaks.Add Before:Îlls(t3, 1)
Next
Selection.AutoFilter
End Sub

--
Amicalement

Jean-François Aubert
{Vaudois de la Côte Lémanique}


"amt" a écrit dans le message de news:btca3g$280$
bonjour à tous
en colonne A j'ai une liste de 1100 noms classés en ordre alphabétique
Je voudrais insérer un saut de page à chaque changement de première lettre
des noms
Comment m'y prendre?




Avatar
Jean-François Aubert
correction:

remplacer la ligne:
ActiveSheet.DisplayAutomaticPageBreaks = False
(qui ne fait que afficher ou non les saut de pafe)

par:
Application.ScreenUpdating = False


--
Amicalement

Jean-François Aubert
{Vaudois de la Côte Lémanique}


"Jean-François Aubert" <à a écrit dans le message de
news:3ff9b8f1$
Salut amt,
encore une autre...
En A1 étiquette de colonne
En A2:A... les noms

Sub sautDePage()
Dim i, x
Dim t1, t2, t3
ActiveSheet.DisplayAutomaticPageBreaks = False
For i = 97 To 122
x = "=" & Chr(i) & "*"
[a1].AutoFilter Field:=1, Criteria1:=x, Operator:=xlAnd
t1 = Range("A2:A2000").SpecialCells(xlCellTypeVisible).Row
t2 = Evaluate("SUBTOTAL(3,a2:a2000)")
t3 = t1 + t2
ActiveWindow.SelectedSheets.HPageBreaks.Add Before:Îlls(t3, 1)
Next
Selection.AutoFilter
End Sub

--
Amicalement

Jean-François Aubert
{Vaudois de la Côte Lémanique}


"amt" a écrit dans le message de
news:btca3g$280$

bonjour à tous
en colonne A j'ai une liste de 1100 noms classés en ordre alphabétique
Je voudrais insérer un saut de page à chaque changement de première lettre
des noms
Comment m'y prendre?