je dois coller un en dessous de l'autre des tableaux de meme structure sauf
pour la longueur (nb variable de lignes), et j'aimerais après collage de ces
tableaux déterminer si possible , des sauts de pages automatiquement avec
une présentation en portrait de plus ou moins 66 lignes - taille de police
9 - mais je ne sais pas comment formuler ça en vba pour lui dire que les
tableaux sont des entités à prendre en entier pour ne pas couper le dernier
en 2 et avoir la suite sur la page suivante..et ainsi de suite.
On suppose que les blocs sont séparés par au moins une ligne en colonne A:
Sub essai() ActiveSheet.ResetAllPageBreaks [A3].Select Do While ActiveCell.Row < [A65000].End(xlUp).Row ActiveCell.End(xlDown).Offset(1, 0).Select ActiveWindow.SelectedSheets.HPageBreaks.Add Before:¬tiveCell ActiveCell.End(xlDown).Select Loop [A3].Select End Sub
On suppose que les blocs sont séparés par au moins une ligne en
colonne A:
Sub essai()
ActiveSheet.ResetAllPageBreaks
[A3].Select
Do While ActiveCell.Row < [A65000].End(xlUp).Row
ActiveCell.End(xlDown).Offset(1, 0).Select
ActiveWindow.SelectedSheets.HPageBreaks.Add Before:=ActiveCell
ActiveCell.End(xlDown).Select
Loop
[A3].Select
End Sub
On suppose que les blocs sont séparés par au moins une ligne en colonne A:
Sub essai() ActiveSheet.ResetAllPageBreaks [A3].Select Do While ActiveCell.Row < [A65000].End(xlUp).Row ActiveCell.End(xlDown).Offset(1, 0).Select ActiveWindow.SelectedSheets.HPageBreaks.Add Before:¬tiveCell ActiveCell.End(xlDown).Select Loop [A3].Select End Sub
Merci mais ça ne peut pas fonctionner comme ça car la colonne A ne comporte pas toujours des cellules occupées; il faudrait donc tester si toutes les 66 lignes, celle-ci est vide: si oui on mets le pagebreak, sinon on descends jusqu'à la ligne vide entière suivante. Je n'ai pas encore trouvé Merci
"JB" a écrit dans le message de news:
Bonjour,
On suppose que les blocs sont séparés par au moins une ligne en colonne A:
Sub essai() ActiveSheet.ResetAllPageBreaks [A3].Select Do While ActiveCell.Row < [A65000].End(xlUp).Row ActiveCell.End(xlDown).Offset(1, 0).Select ActiveWindow.SelectedSheets.HPageBreaks.Add Before:¬tiveCell ActiveCell.End(xlDown).Select Loop [A3].Select End Sub
Merci mais ça ne peut pas fonctionner comme ça car la colonne A ne comporte
pas toujours des cellules occupées; il faudrait donc tester si toutes les 66
lignes, celle-ci est vide: si oui on mets le pagebreak, sinon on descends
jusqu'à la ligne vide entière suivante.
Je n'ai pas encore trouvé
Merci
"JB" <boisgontier@hotmail.com> a écrit dans le message de news:
1148904950.719241.77700@j33g2000cwa.googlegroups.com...
Bonjour,
On suppose que les blocs sont séparés par au moins une ligne en
colonne A:
Sub essai()
ActiveSheet.ResetAllPageBreaks
[A3].Select
Do While ActiveCell.Row < [A65000].End(xlUp).Row
ActiveCell.End(xlDown).Offset(1, 0).Select
ActiveWindow.SelectedSheets.HPageBreaks.Add Before:¬tiveCell
ActiveCell.End(xlDown).Select
Loop
[A3].Select
End Sub
Merci mais ça ne peut pas fonctionner comme ça car la colonne A ne comporte pas toujours des cellules occupées; il faudrait donc tester si toutes les 66 lignes, celle-ci est vide: si oui on mets le pagebreak, sinon on descends jusqu'à la ligne vide entière suivante. Je n'ai pas encore trouvé Merci
"JB" a écrit dans le message de news:
Bonjour,
On suppose que les blocs sont séparés par au moins une ligne en colonne A:
Sub essai() ActiveSheet.ResetAllPageBreaks [A3].Select Do While ActiveCell.Row < [A65000].End(xlUp).Row ActiveCell.End(xlDown).Offset(1, 0).Select ActiveWindow.SelectedSheets.HPageBreaks.Add Before:¬tiveCell ActiveCell.End(xlDown).Select Loop [A3].Select End Sub
oupssssss si pas libre on remonte de 1,2,3 ou 4 lignes pour trouver une vide
Merci
"...Patrick" a écrit dans le message de news:
Merci mais ça ne peut pas fonctionner comme ça car la colonne A ne comporte pas toujours des cellules occupées; il faudrait donc tester si toutes les 66 lignes, celle-ci est vide: si oui on mets le pagebreak, sinon on descends jusqu'à la ligne vide entière suivante. Je n'ai pas encore trouvé Merci
"JB" a écrit dans le message de news:
Bonjour,
On suppose que les blocs sont séparés par au moins une ligne en colonne A:
Sub essai() ActiveSheet.ResetAllPageBreaks [A3].Select Do While ActiveCell.Row < [A65000].End(xlUp).Row ActiveCell.End(xlDown).Offset(1, 0).Select ActiveWindow.SelectedSheets.HPageBreaks.Add Before:¬tiveCell ActiveCell.End(xlDown).Select Loop [A3].Select End Sub
oupssssss
si pas libre on remonte de 1,2,3 ou 4 lignes pour trouver une vide
Merci
"...Patrick" <NOSPAM_p_mackay@hotmail.com> a écrit dans le message de news:
unPpgyxgGHA.1204@TK2MSFTNGP02.phx.gbl...
Merci mais ça ne peut pas fonctionner comme ça car la colonne A ne
comporte pas toujours des cellules occupées; il faudrait donc tester si
toutes les 66 lignes, celle-ci est vide: si oui on mets le pagebreak,
sinon on descends jusqu'à la ligne vide entière suivante.
Je n'ai pas encore trouvé
Merci
"JB" <boisgontier@hotmail.com> a écrit dans le message de news:
1148904950.719241.77700@j33g2000cwa.googlegroups.com...
Bonjour,
On suppose que les blocs sont séparés par au moins une ligne en
colonne A:
Sub essai()
ActiveSheet.ResetAllPageBreaks
[A3].Select
Do While ActiveCell.Row < [A65000].End(xlUp).Row
ActiveCell.End(xlDown).Offset(1, 0).Select
ActiveWindow.SelectedSheets.HPageBreaks.Add Before:¬tiveCell
ActiveCell.End(xlDown).Select
Loop
[A3].Select
End Sub
oupssssss si pas libre on remonte de 1,2,3 ou 4 lignes pour trouver une vide
Merci
"...Patrick" a écrit dans le message de news:
Merci mais ça ne peut pas fonctionner comme ça car la colonne A ne comporte pas toujours des cellules occupées; il faudrait donc tester si toutes les 66 lignes, celle-ci est vide: si oui on mets le pagebreak, sinon on descends jusqu'à la ligne vide entière suivante. Je n'ai pas encore trouvé Merci
"JB" a écrit dans le message de news:
Bonjour,
On suppose que les blocs sont séparés par au moins une ligne en colonne A:
Sub essai() ActiveSheet.ResetAllPageBreaks [A3].Select Do While ActiveCell.Row < [A65000].End(xlUp).Row ActiveCell.End(xlDown).Offset(1, 0).Select ActiveWindow.SelectedSheets.HPageBreaks.Add Before:¬tiveCell ActiveCell.End(xlDown).Select Loop [A3].Select End Sub
Bonsour® ...Patrick avec ferveur ;o))) vous nous disiez :
je dois coller un en dessous de l'autre des tableaux de meme structure sauf pour la longueur (nb variable de lignes), et j'aimerais après collage de ces tableaux déterminer si possible , des sauts de pages automatiquement avec une présentation en portrait de plus ou moins 66 lignes - taille de police 9 - mais je ne sais pas comment formuler ça en vba pour lui dire que les tableaux sont des entités à prendre en entier pour ne pas couper le dernier en 2 et avoir la suite sur la page suivante..et ainsi de suite.
Lors du collage, cela ne serait-il pas plus simple d'inserer d'abord le saut de page puis aussitot aprés le tableau ... Non ???
-- -- @+ ;o)))
Bonsour® ...Patrick avec ferveur ;o))) vous nous disiez :
je dois coller un en dessous de l'autre des tableaux de meme structure
sauf
pour la longueur (nb variable de lignes), et j'aimerais après collage de
ces
tableaux déterminer si possible , des sauts de pages automatiquement avec
une présentation en portrait de plus ou moins 66 lignes - taille de police
9 - mais je ne sais pas comment formuler ça en vba pour lui dire que les
tableaux sont des entités à prendre en entier pour ne pas couper le
dernier
en 2 et avoir la suite sur la page suivante..et ainsi de suite.
Lors du collage, cela ne serait-il pas plus simple d'inserer d'abord le saut
de page
puis aussitot aprés le tableau ...
Non ???
Bonsour® ...Patrick avec ferveur ;o))) vous nous disiez :
je dois coller un en dessous de l'autre des tableaux de meme structure sauf pour la longueur (nb variable de lignes), et j'aimerais après collage de ces tableaux déterminer si possible , des sauts de pages automatiquement avec une présentation en portrait de plus ou moins 66 lignes - taille de police 9 - mais je ne sais pas comment formuler ça en vba pour lui dire que les tableaux sont des entités à prendre en entier pour ne pas couper le dernier en 2 et avoir la suite sur la page suivante..et ainsi de suite.
Lors du collage, cela ne serait-il pas plus simple d'inserer d'abord le saut de page puis aussitot aprés le tableau ... Non ???
-- -- @+ ;o)))
...Patrick
Salut Modeste,
donc tu me proposes à chaque collage d'un tableau dans le résumé de mettre les sauts de pages, ok mais mon problème reste encore de savoir où couper ....sans le faire en plein dans un des tableaux importés. Mais c'est là mon problème, je ne sais pas bien comment m'y prendre pour ce faire... Merci ps: le code pour importer étant déjà écrit, la demande est venue après pour les sauts de pages, donc je voudrais une sub en plus que j'appelle en dernier.
Patrick
"Modeste" a écrit dans le message de news: e$9rmx$
Bonsour® ...Patrick avec ferveur ;o))) vous nous disiez :
je dois coller un en dessous de l'autre des tableaux de meme structure sauf pour la longueur (nb variable de lignes), et j'aimerais après collage de ces tableaux déterminer si possible , des sauts de pages automatiquement avec une présentation en portrait de plus ou moins 66 lignes - taille de police 9 - mais je ne sais pas comment formuler ça en vba pour lui dire que les tableaux sont des entités à prendre en entier pour ne pas couper le dernier en 2 et avoir la suite sur la page suivante..et ainsi de suite.
Lors du collage, cela ne serait-il pas plus simple d'inserer d'abord le saut de page puis aussitot aprés le tableau ... Non ???
-- -- @+ ;o)))
Salut Modeste,
donc tu me proposes à chaque collage d'un tableau dans le résumé de mettre
les sauts de pages, ok mais mon problème reste encore de savoir où couper
....sans le faire en plein dans un des tableaux importés.
Mais c'est là mon problème, je ne sais pas bien comment m'y prendre pour ce
faire...
Merci
ps: le code pour importer étant déjà écrit, la demande est venue après pour
les sauts de pages, donc je voudrais une sub en plus que j'appelle en
dernier.
Patrick
"Modeste" <nomail@nomail.net> a écrit dans le message de news:
e$9rmx$gGHA.4892@TK2MSFTNGP02.phx.gbl...
Bonsour® ...Patrick avec ferveur ;o))) vous nous disiez :
je dois coller un en dessous de l'autre des tableaux de meme structure
sauf
pour la longueur (nb variable de lignes), et j'aimerais après collage de
ces
tableaux déterminer si possible , des sauts de pages automatiquement avec
une présentation en portrait de plus ou moins 66 lignes - taille de
police
9 - mais je ne sais pas comment formuler ça en vba pour lui dire que les
tableaux sont des entités à prendre en entier pour ne pas couper le
dernier
en 2 et avoir la suite sur la page suivante..et ainsi de suite.
Lors du collage, cela ne serait-il pas plus simple d'inserer d'abord le
saut de page
puis aussitot aprés le tableau ...
Non ???
donc tu me proposes à chaque collage d'un tableau dans le résumé de mettre les sauts de pages, ok mais mon problème reste encore de savoir où couper ....sans le faire en plein dans un des tableaux importés. Mais c'est là mon problème, je ne sais pas bien comment m'y prendre pour ce faire... Merci ps: le code pour importer étant déjà écrit, la demande est venue après pour les sauts de pages, donc je voudrais une sub en plus que j'appelle en dernier.
Patrick
"Modeste" a écrit dans le message de news: e$9rmx$
Bonsour® ...Patrick avec ferveur ;o))) vous nous disiez :
je dois coller un en dessous de l'autre des tableaux de meme structure sauf pour la longueur (nb variable de lignes), et j'aimerais après collage de ces tableaux déterminer si possible , des sauts de pages automatiquement avec une présentation en portrait de plus ou moins 66 lignes - taille de police 9 - mais je ne sais pas comment formuler ça en vba pour lui dire que les tableaux sont des entités à prendre en entier pour ne pas couper le dernier en 2 et avoir la suite sur la page suivante..et ainsi de suite.
Lors du collage, cela ne serait-il pas plus simple d'inserer d'abord le saut de page puis aussitot aprés le tableau ... Non ???
-- -- @+ ;o)))
JB
http://cjoint.com/?fEtYXa50X4
Sub essai() ActiveSheet.ResetAllPageBreaks h = 10 ' hauteur de page horizon = 5 ' horizon de recherche d'une cellule vide au dessus [A3].Select Do While ActiveCell.Row < [A65000].End(xlUp).Row ActiveCell.Offset(h, 0).Select If ActiveCell = "" Then ActiveWindow.SelectedSheets.HPageBreaks.Add Before:¬tiveCell Else If ActiveCell.Offset(-1, 0) = "" Then ActiveCell.End(xlUp).Offset(1, 0).Select Else Set c = Range(ActiveCell.Offset(-h + horizon, 0), ActiveCell).Find("", LookIn:=xlValues) If Not c Is Nothing Then ActiveCell.End(xlUp).Offset(-1, 0).Select End If End If ActiveWindow.SelectedSheets.HPageBreaks.Add Before:¬tiveCell End If Loop [A3].Select End Sub
JB
http://cjoint.com/?fEtYXa50X4
Sub essai()
ActiveSheet.ResetAllPageBreaks
h = 10 ' hauteur de page
horizon = 5 ' horizon de recherche d'une cellule vide au dessus
[A3].Select
Do While ActiveCell.Row < [A65000].End(xlUp).Row
ActiveCell.Offset(h, 0).Select
If ActiveCell = "" Then
ActiveWindow.SelectedSheets.HPageBreaks.Add Before:¬tiveCell
Else
If ActiveCell.Offset(-1, 0) = "" Then
ActiveCell.End(xlUp).Offset(1, 0).Select
Else
Set c = Range(ActiveCell.Offset(-h + horizon, 0),
ActiveCell).Find("", LookIn:=xlValues)
If Not c Is Nothing Then
ActiveCell.End(xlUp).Offset(-1, 0).Select
End If
End If
ActiveWindow.SelectedSheets.HPageBreaks.Add Before:¬tiveCell
End If
Loop
[A3].Select
End Sub
Sub essai() ActiveSheet.ResetAllPageBreaks h = 10 ' hauteur de page horizon = 5 ' horizon de recherche d'une cellule vide au dessus [A3].Select Do While ActiveCell.Row < [A65000].End(xlUp).Row ActiveCell.Offset(h, 0).Select If ActiveCell = "" Then ActiveWindow.SelectedSheets.HPageBreaks.Add Before:¬tiveCell Else If ActiveCell.Offset(-1, 0) = "" Then ActiveCell.End(xlUp).Offset(1, 0).Select Else Set c = Range(ActiveCell.Offset(-h + horizon, 0), ActiveCell).Find("", LookIn:=xlValues) If Not c Is Nothing Then ActiveCell.End(xlUp).Offset(-1, 0).Select End If End If ActiveWindow.SelectedSheets.HPageBreaks.Add Before:¬tiveCell End If Loop [A3].Select End Sub
JB
...Patrick
Merci Jacques pour le fichier joint mais ça ne corresponds pas malheureusement pas;
voilà mon fichier qui peut évidemment comporter plus ou moins de lignes à l'avenir...
http://users.skynet.be/fa401972/Resume.zip
Merci
Patrick
"JB" a écrit dans le message de news:
http://cjoint.com/?fEtYXa50X4
Sub essai() ActiveSheet.ResetAllPageBreaks h = 10 ' hauteur de page horizon = 5 ' horizon de recherche d'une cellule vide au dessus [A3].Select Do While ActiveCell.Row < [A65000].End(xlUp).Row ActiveCell.Offset(h, 0).Select If ActiveCell = "" Then ActiveWindow.SelectedSheets.HPageBreaks.Add Before:¬tiveCell Else If ActiveCell.Offset(-1, 0) = "" Then ActiveCell.End(xlUp).Offset(1, 0).Select Else Set c = Range(ActiveCell.Offset(-h + horizon, 0), ActiveCell).Find("", LookIn:=xlValues) If Not c Is Nothing Then ActiveCell.End(xlUp).Offset(-1, 0).Select End If End If ActiveWindow.SelectedSheets.HPageBreaks.Add Before:¬tiveCell End If Loop [A3].Select End Sub
JB
Merci Jacques pour le fichier joint mais ça ne corresponds pas
malheureusement pas;
voilà mon fichier qui peut évidemment comporter plus ou moins de lignes à
l'avenir...
http://users.skynet.be/fa401972/Resume.zip
Merci
Patrick
"JB" <boisgontier@hotmail.com> a écrit dans le message de news:
1149011535.506727.126600@j55g2000cwa.googlegroups.com...
http://cjoint.com/?fEtYXa50X4
Sub essai()
ActiveSheet.ResetAllPageBreaks
h = 10 ' hauteur de page
horizon = 5 ' horizon de recherche d'une cellule vide au dessus
[A3].Select
Do While ActiveCell.Row < [A65000].End(xlUp).Row
ActiveCell.Offset(h, 0).Select
If ActiveCell = "" Then
ActiveWindow.SelectedSheets.HPageBreaks.Add Before:¬tiveCell
Else
If ActiveCell.Offset(-1, 0) = "" Then
ActiveCell.End(xlUp).Offset(1, 0).Select
Else
Set c = Range(ActiveCell.Offset(-h + horizon, 0),
ActiveCell).Find("", LookIn:=xlValues)
If Not c Is Nothing Then
ActiveCell.End(xlUp).Offset(-1, 0).Select
End If
End If
ActiveWindow.SelectedSheets.HPageBreaks.Add Before:¬tiveCell
End If
Loop
[A3].Select
End Sub
Merci Jacques pour le fichier joint mais ça ne corresponds pas malheureusement pas;
voilà mon fichier qui peut évidemment comporter plus ou moins de lignes à l'avenir...
http://users.skynet.be/fa401972/Resume.zip
Merci
Patrick
"JB" a écrit dans le message de news:
http://cjoint.com/?fEtYXa50X4
Sub essai() ActiveSheet.ResetAllPageBreaks h = 10 ' hauteur de page horizon = 5 ' horizon de recherche d'une cellule vide au dessus [A3].Select Do While ActiveCell.Row < [A65000].End(xlUp).Row ActiveCell.Offset(h, 0).Select If ActiveCell = "" Then ActiveWindow.SelectedSheets.HPageBreaks.Add Before:¬tiveCell Else If ActiveCell.Offset(-1, 0) = "" Then ActiveCell.End(xlUp).Offset(1, 0).Select Else Set c = Range(ActiveCell.Offset(-h + horizon, 0), ActiveCell).Find("", LookIn:=xlValues) If Not c Is Nothing Then ActiveCell.End(xlUp).Offset(-1, 0).Select End If End If ActiveWindow.SelectedSheets.HPageBreaks.Add Before:¬tiveCell End If Loop [A3].Select End Sub
JB
JB
http://cjoint.com/?fEv7c6rb2q
Sub essai_JB() ActiveSheet.ResetAllPageBreaks h = 55 ' hauteur de page NbLignesVides = 2 Largeur = 15 [A3].Select Do While ActiveCell.Row < [A65000].End(xlUp).Row ActiveCell.Offset(h, 0).Select If Application.CountA(ActiveCell.Resize(NbLignesVides, Largeur)) >= 0 Then témoin = True decal = -1 Do While témoin If Application.CountA(ActiveCell.Offset(decal, 0).Resize(NbLignesVides, Largeur)) = 0 Then témoin = False Else decal = decal - 1 End If Loop ActiveCell.Offset(decal, 0).Select End If ActiveWindow.SelectedSheets.HPageBreaks.Add Before:¬tiveCell Loop [A3].Select End Sub
JB
http://cjoint.com/?fEv7c6rb2q
Sub essai_JB()
ActiveSheet.ResetAllPageBreaks
h = 55 ' hauteur de page
NbLignesVides = 2
Largeur = 15
[A3].Select
Do While ActiveCell.Row < [A65000].End(xlUp).Row
ActiveCell.Offset(h, 0).Select
If Application.CountA(ActiveCell.Resize(NbLignesVides, Largeur)) >=
0 Then
témoin = True
decal = -1
Do While témoin
If Application.CountA(ActiveCell.Offset(decal,
0).Resize(NbLignesVides, Largeur)) = 0 Then
témoin = False
Else
decal = decal - 1
End If
Loop
ActiveCell.Offset(decal, 0).Select
End If
ActiveWindow.SelectedSheets.HPageBreaks.Add Before:=ActiveCell
Loop
[A3].Select
End Sub
Sub essai_JB() ActiveSheet.ResetAllPageBreaks h = 55 ' hauteur de page NbLignesVides = 2 Largeur = 15 [A3].Select Do While ActiveCell.Row < [A65000].End(xlUp).Row ActiveCell.Offset(h, 0).Select If Application.CountA(ActiveCell.Resize(NbLignesVides, Largeur)) >= 0 Then témoin = True decal = -1 Do While témoin If Application.CountA(ActiveCell.Offset(decal, 0).Resize(NbLignesVides, Largeur)) = 0 Then témoin = False Else decal = decal - 1 End If Loop ActiveCell.Offset(decal, 0).Select End If ActiveWindow.SelectedSheets.HPageBreaks.Add Before:¬tiveCell Loop [A3].Select End Sub
JB
Jacquouille
Bonsoir Patrick Je pense que la solution de Gilbert est la bonne car: -si ton tableau est petit, il sera seul sur une page, donc pas de prob -s'il est fort grand, macro ou pas, il s'imprimera sur plussieurs feuilles, avec le risque que le tableau sera quand même coupé.
Donc, si tu insères un saut de page, tu es gagnant. Bonjour de Liéch. -- Bien amicalmement, Vivement conseillés: http://www.excelabo.net http://jacxl.free.fr/mpfe/trombino.html http://dj.joss.free.fr/netiquet.htm http://frederic.sigonneau.free.fr/
Jacquouille.
"...Patrick" a écrit dans le message de news:
Salut Modeste,
donc tu me proposes à chaque collage d'un tableau dans le résumé de mettre les sauts de pages, ok mais mon problème reste encore de savoir où couper ....sans le faire en plein dans un des tableaux importés. Mais c'est là mon problème, je ne sais pas bien comment m'y prendre pour ce faire... Merci ps: le code pour importer étant déjà écrit, la demande est venue après pour les sauts de pages, donc je voudrais une sub en plus que j'appelle en dernier.
Patrick
"Modeste" a écrit dans le message de news: e$9rmx$
Bonsour® ...Patrick avec ferveur ;o))) vous nous disiez :
je dois coller un en dessous de l'autre des tableaux de meme structure sauf pour la longueur (nb variable de lignes), et j'aimerais après collage de ces tableaux déterminer si possible , des sauts de pages automatiquement avec une présentation en portrait de plus ou moins 66 lignes - taille de police 9 - mais je ne sais pas comment formuler ça en vba pour lui dire que les tableaux sont des entités à prendre en entier pour ne pas couper le dernier en 2 et avoir la suite sur la page suivante..et ainsi de suite.
Lors du collage, cela ne serait-il pas plus simple d'inserer d'abord le saut de page puis aussitot aprés le tableau ... Non ???
-- -- @+ ;o)))
Bonsoir Patrick
Je pense que la solution de Gilbert est la bonne car:
-si ton tableau est petit, il sera seul sur une page, donc pas de prob
-s'il est fort grand, macro ou pas, il s'imprimera sur plussieurs feuilles,
avec le risque que le tableau sera quand même coupé.
Donc, si tu insères un saut de page, tu es gagnant.
Bonjour de Liéch.
--
Bien amicalmement,
Vivement conseillés:
http://www.excelabo.net
http://jacxl.free.fr/mpfe/trombino.html
http://dj.joss.free.fr/netiquet.htm
http://frederic.sigonneau.free.fr/
Jacquouille.
"...Patrick" <NOSPAM_p_mackay@hotmail.com> a écrit dans le message de news:
ewXwG8AhGHA.4284@TK2MSFTNGP05.phx.gbl...
Salut Modeste,
donc tu me proposes à chaque collage d'un tableau dans le résumé de mettre
les sauts de pages, ok mais mon problème reste encore de savoir où couper
....sans le faire en plein dans un des tableaux importés.
Mais c'est là mon problème, je ne sais pas bien comment m'y prendre pour
ce faire...
Merci
ps: le code pour importer étant déjà écrit, la demande est venue après
pour les sauts de pages, donc je voudrais une sub en plus que j'appelle en
dernier.
Patrick
"Modeste" <nomail@nomail.net> a écrit dans le message de news:
e$9rmx$gGHA.4892@TK2MSFTNGP02.phx.gbl...
Bonsour® ...Patrick avec ferveur ;o))) vous nous disiez :
je dois coller un en dessous de l'autre des tableaux de meme structure
sauf
pour la longueur (nb variable de lignes), et j'aimerais après collage de
ces
tableaux déterminer si possible , des sauts de pages automatiquement
avec
une présentation en portrait de plus ou moins 66 lignes - taille de
police
9 - mais je ne sais pas comment formuler ça en vba pour lui dire que les
tableaux sont des entités à prendre en entier pour ne pas couper le
dernier
en 2 et avoir la suite sur la page suivante..et ainsi de suite.
Lors du collage, cela ne serait-il pas plus simple d'inserer d'abord le
saut de page
puis aussitot aprés le tableau ...
Non ???
Bonsoir Patrick Je pense que la solution de Gilbert est la bonne car: -si ton tableau est petit, il sera seul sur une page, donc pas de prob -s'il est fort grand, macro ou pas, il s'imprimera sur plussieurs feuilles, avec le risque que le tableau sera quand même coupé.
Donc, si tu insères un saut de page, tu es gagnant. Bonjour de Liéch. -- Bien amicalmement, Vivement conseillés: http://www.excelabo.net http://jacxl.free.fr/mpfe/trombino.html http://dj.joss.free.fr/netiquet.htm http://frederic.sigonneau.free.fr/
Jacquouille.
"...Patrick" a écrit dans le message de news:
Salut Modeste,
donc tu me proposes à chaque collage d'un tableau dans le résumé de mettre les sauts de pages, ok mais mon problème reste encore de savoir où couper ....sans le faire en plein dans un des tableaux importés. Mais c'est là mon problème, je ne sais pas bien comment m'y prendre pour ce faire... Merci ps: le code pour importer étant déjà écrit, la demande est venue après pour les sauts de pages, donc je voudrais une sub en plus que j'appelle en dernier.
Patrick
"Modeste" a écrit dans le message de news: e$9rmx$
Bonsour® ...Patrick avec ferveur ;o))) vous nous disiez :
je dois coller un en dessous de l'autre des tableaux de meme structure sauf pour la longueur (nb variable de lignes), et j'aimerais après collage de ces tableaux déterminer si possible , des sauts de pages automatiquement avec une présentation en portrait de plus ou moins 66 lignes - taille de police 9 - mais je ne sais pas comment formuler ça en vba pour lui dire que les tableaux sont des entités à prendre en entier pour ne pas couper le dernier en 2 et avoir la suite sur la page suivante..et ainsi de suite.
Lors du collage, cela ne serait-il pas plus simple d'inserer d'abord le saut de page puis aussitot aprés le tableau ... Non ???
-- -- @+ ;o)))
JB
Gère les blocs qui ne tiennent pas sur une page:
http://cjoint.com/?fFfDOE5Zec
Sub essai_JB() ActiveSheet.ResetAllPageBreaks ' raz h = 57 ' hauteur de page nlv = 2 ' Nombre de lignes vides lg = 15 ' largeur [A3].Select Do While ActiveCell.Row < [A65000].End(xlUp).Row ActiveCell.Offset(h, 0).Select tém = True d = 0 ' décalage Do While tém And d > -h ' on cherche une plage vide :nlv * lg If Application.CountA(ActiveCell.Offset(d, 0).Resize(nlv, lg)) = 0 Then tém = False Else d = d - 1 End If Loop If d > -h Then ActiveCell.Offset(d, 0).Select ' nb lignes du bloc
h ActiveWindow.SelectedSheets.HPageBreaks.Add Before:¬tiveCell
Loop [A3].Select End Sub
JB
Merci Jacques pour le fichier joint mais ça ne corresponds pas malheureusement pas;
voilà mon fichier qui peut évidemment comporter plus ou moins de lign es à l'avenir...
http://users.skynet.be/fa401972/Resume.zip
Merci
Patrick
"JB" a écrit dans le message de news:
http://cjoint.com/?fEtYXa50X4
Sub essai() ActiveSheet.ResetAllPageBreaks h = 10 ' hauteur de page horizon = 5 ' horizon de recherche d'une cellule vide au dessus [A3].Select Do While ActiveCell.Row < [A65000].End(xlUp).Row ActiveCell.Offset(h, 0).Select If ActiveCell = "" Then ActiveWindow.SelectedSheets.HPageBreaks.Add Before:¬tiveCell Else If ActiveCell.Offset(-1, 0) = "" Then ActiveCell.End(xlUp).Offset(1, 0).Select Else Set c = Range(ActiveCell.Offset(-h + horizon, 0), ActiveCell).Find("", LookIn:=xlValues) If Not c Is Nothing Then ActiveCell.End(xlUp).Offset(-1, 0).Select End If End If ActiveWindow.SelectedSheets.HPageBreaks.Add Before:¬tiveCell End If Loop [A3].Select End Sub
JB
Gère les blocs qui ne tiennent pas sur une page:
http://cjoint.com/?fFfDOE5Zec
Sub essai_JB()
ActiveSheet.ResetAllPageBreaks ' raz
h = 57 ' hauteur de page
nlv = 2 ' Nombre de lignes vides
lg = 15 ' largeur
[A3].Select
Do While ActiveCell.Row < [A65000].End(xlUp).Row
ActiveCell.Offset(h, 0).Select
tém = True
d = 0 ' décalage
Do While tém And d > -h ' on cherche une plage vide :nlv * lg
If Application.CountA(ActiveCell.Offset(d, 0).Resize(nlv, lg)) =
0 Then
tém = False
Else
d = d - 1
End If
Loop
If d > -h Then ActiveCell.Offset(d, 0).Select ' nb lignes du bloc
h
ActiveWindow.SelectedSheets.HPageBreaks.Add Before:=ActiveCell
Loop
[A3].Select
End Sub
JB
Merci Jacques pour le fichier joint mais ça ne corresponds pas
malheureusement pas;
voilà mon fichier qui peut évidemment comporter plus ou moins de lign es à
l'avenir...
http://users.skynet.be/fa401972/Resume.zip
Merci
Patrick
"JB" <boisgontier@hotmail.com> a écrit dans le message de news:
1149011535.506727.126600@j55g2000cwa.googlegroups.com...
http://cjoint.com/?fEtYXa50X4
Sub essai()
ActiveSheet.ResetAllPageBreaks
h = 10 ' hauteur de page
horizon = 5 ' horizon de recherche d'une cellule vide au dessus
[A3].Select
Do While ActiveCell.Row < [A65000].End(xlUp).Row
ActiveCell.Offset(h, 0).Select
If ActiveCell = "" Then
ActiveWindow.SelectedSheets.HPageBreaks.Add Before:=ActiveCell
Else
If ActiveCell.Offset(-1, 0) = "" Then
ActiveCell.End(xlUp).Offset(1, 0).Select
Else
Set c = Range(ActiveCell.Offset(-h + horizon, 0),
ActiveCell).Find("", LookIn:=xlValues)
If Not c Is Nothing Then
ActiveCell.End(xlUp).Offset(-1, 0).Select
End If
End If
ActiveWindow.SelectedSheets.HPageBreaks.Add Before:=ActiveCell
End If
Loop
[A3].Select
End Sub
Sub essai_JB() ActiveSheet.ResetAllPageBreaks ' raz h = 57 ' hauteur de page nlv = 2 ' Nombre de lignes vides lg = 15 ' largeur [A3].Select Do While ActiveCell.Row < [A65000].End(xlUp).Row ActiveCell.Offset(h, 0).Select tém = True d = 0 ' décalage Do While tém And d > -h ' on cherche une plage vide :nlv * lg If Application.CountA(ActiveCell.Offset(d, 0).Resize(nlv, lg)) = 0 Then tém = False Else d = d - 1 End If Loop If d > -h Then ActiveCell.Offset(d, 0).Select ' nb lignes du bloc
h ActiveWindow.SelectedSheets.HPageBreaks.Add Before:¬tiveCell
Loop [A3].Select End Sub
JB
Merci Jacques pour le fichier joint mais ça ne corresponds pas malheureusement pas;
voilà mon fichier qui peut évidemment comporter plus ou moins de lign es à l'avenir...
http://users.skynet.be/fa401972/Resume.zip
Merci
Patrick
"JB" a écrit dans le message de news:
http://cjoint.com/?fEtYXa50X4
Sub essai() ActiveSheet.ResetAllPageBreaks h = 10 ' hauteur de page horizon = 5 ' horizon de recherche d'une cellule vide au dessus [A3].Select Do While ActiveCell.Row < [A65000].End(xlUp).Row ActiveCell.Offset(h, 0).Select If ActiveCell = "" Then ActiveWindow.SelectedSheets.HPageBreaks.Add Before:¬tiveCell Else If ActiveCell.Offset(-1, 0) = "" Then ActiveCell.End(xlUp).Offset(1, 0).Select Else Set c = Range(ActiveCell.Offset(-h + horizon, 0), ActiveCell).Find("", LookIn:=xlValues) If Not c Is Nothing Then ActiveCell.End(xlUp).Offset(-1, 0).Select End If End If ActiveWindow.SelectedSheets.HPageBreaks.Add Before:¬tiveCell End If Loop [A3].Select End Sub