Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Supprimer mettre des sauts de page

11 réponses
Avatar
SB
Bonjour à toutes et à tous,
Je souhaite supprimer par macro un saut de page, quand je fais
l'enregistreur il me met ActveSheet.HPageBreaks(3).Delete
Le problème c'est que ce ne sera pas forcément le 3ème... je veux supprimer
le saut de page avant la ligne 87 par ex
Merci de votre aide,
SB

10 réponses

1 2
Avatar
Trirème
Bonsoir SB
Peut être un peu brutal force, mais essaie ceci :

For Each saut In ActiveSheet.HPageBreaks
If saut.Location.Row = 15 Then
saut.Delete
Exit For ' Sinon erreur sur le dernier saut (car supprimé de la collection)
End If
Next

Cordialement,
Trirème

Bonjour à toutes et à tous,
Je souhaite supprimer par macro un saut de page, quand je fais
l'enregistreur il me met ActveSheet.HPageBreaks(3).Delete
Le problème c'est que ce ne sera pas forcément le 3ème... je veux supprimer
le saut de page avant la ligne 87 par ex
Merci de votre aide,
SB




Avatar
SB
Bonjour,
ça marche pas, j'ai l'erreur "9" L'indice n'appartient pas à la sélection..
Merci de ton aide
SB



"Trirème" a écrit dans le message de news:
%
Bonsoir SB
Peut être un peu brutal force, mais essaie ceci :

For Each saut In ActiveSheet.HPageBreaks
If saut.Location.Row = 15 Then
saut.Delete
Exit For ' Sinon erreur sur le dernier saut (car supprimé de la
collection)
End If
Next

Cordialement,
Trirème

Bonjour à toutes et à tous,
Je souhaite supprimer par macro un saut de page, quand je fais
l'enregistreur il me met ActveSheet.HPageBreaks(3).Delete
Le problème c'est que ce ne sera pas forcément le 3ème... je veux
supprimer le saut de page avant la ligne 87 par ex
Merci de votre aide,
SB




Avatar
Trirème
Bonjour,
ça marche pas, j'ai l'erreur "9" L'indice n'appartient pas à la sélection..


C'est curieux. Fais tourner la macro en mode pas à pas (touche F8) et regarde si cela se
produit immédiatement ou après plusieurs tours dans la boucle.
Normalement ça devrait fonctionner, avec ou sans zone d'impression sur la feuille.
En tout cas chez moi ça fonctionne (2003), avec ou sans saut de page, avec ou sans zone
d'impression.

NB J'avais mis "saut.Location.Row = 15" pour tester la ligne 15. À adapter.

À suivre
Trirème

Avatar
SB
Ben nan y veut pas, j'ai la même version d'excel, ça bug dès la 1ère ligne
?!
Désolé,
SB
"Trirème" a écrit dans le message de news:

Bonjour,
ça marche pas, j'ai l'erreur "9" L'indice n'appartient pas à la
sélection..


C'est curieux. Fais tourner la macro en mode pas à pas (touche F8) et
regarde si cela se produit immédiatement ou après plusieurs tours dans la
boucle.
Normalement ça devrait fonctionner, avec ou sans zone d'impression sur la
feuille.
En tout cas chez moi ça fonctionne (2003), avec ou sans saut de page, avec
ou sans zone d'impression.

NB J'avais mis "saut.Location.Row = 15" pour tester la ligne 15. À
adapter.

À suivre
Trirème



Avatar
Trirème
Utilise la fenêtre 'Espions' pour y glisser des variables et vérifier leurs valeurs.

Notamment, glisse le mot 'ActiveSheet.HPageBreaks' que tu complèteras par '.Count' pour
obtenir 'ActiveSheet.HPageBreaks.Count'.
Tu auras ainsi le nombre de saut de page dans la feuille dès que la macro passera sur la
ligne.
De la même façon glisse le mot (sélectionné) 'saut.Location.Row' pour connaître la ligne
du saut de page courant...

Sinon... pas d'idée. L'erreur vient du fait que la macro pointe vers un objet - en
l'occurence un objet indicé - qui n'existe pas.
Utilise-tu la boucle telle que je l'ai écrite ou l'as-tu modifiée ?
Essaie sur une page vide d'un nouveau classeur :

Sub supsp()
For Each saut In ActiveSheet.HPageBreaks
If saut.Location.Row = 15 Then
saut.Delete
Exit For ' Sinon erreur sur le dernier saut (car supprimé de la collection)
End If
Next
End Sub

À suivre
Trirème

Ben nan y veut pas, j'ai la même version d'excel, ça bug dès la 1ère ligne
?!
Désolé,
SB
"Trirème" a écrit dans le message de news:

Bonjour,
ça marche pas, j'ai l'erreur "9" L'indice n'appartient pas à la
sélection..
C'est curieux. Fais tourner la macro en mode pas à pas (touche F8) et

regarde si cela se produit immédiatement ou après plusieurs tours dans la
boucle.
Normalement ça devrait fonctionner, avec ou sans zone d'impression sur la
feuille.
En tout cas chez moi ça fonctionne (2003), avec ou sans saut de page, avec
ou sans zone d'impression.

NB J'avais mis "saut.Location.Row = 15" pour tester la ligne 15. À
adapter.

À suivre
Trirème







Avatar
JB
Bonjour,

Supprime les sauts de page entre A10 et A20

For i = ActiveSheet.HPageBreaks.Count To 1 Step -1
If Not Intersect([A10:A20],
Range(ActiveSheet.HPageBreaks(i).Location.Address)) Is Nothing Then
ActiveSheet.HPageBreaks(i).Delete
End If
Next i

JB


On 29 juin, 17:09, "SB" wrote:
Bonjour à toutes et à tous,
Je souhaite supprimer par macro un saut de page, quand je fais
l'enregistreur il me met ActveSheet.HPageBreaks(3).Delete
Le problème c'est que ce ne sera pas forcément le 3ème... je veux s upprimer
le saut de page avant la ligne 87 par ex
Merci de votre aide,
SB


Avatar
SB
Non je n'ai rien modifié à ta macro (j'ai fait u copier coller) en fait la
boucle ne commence même pas...
Cordialement,
SB

"Trirème" a écrit dans le message de news:
uX1JT%
Utilise la fenêtre 'Espions' pour y glisser des variables et vérifier
leurs valeurs.

Notamment, glisse le mot 'ActiveSheet.HPageBreaks' que tu complèteras par
'.Count' pour obtenir 'ActiveSheet.HPageBreaks.Count'.
Tu auras ainsi le nombre de saut de page dans la feuille dès que la macro
passera sur la ligne.
De la même façon glisse le mot (sélectionné) 'saut.Location.Row' pour
connaître la ligne du saut de page courant...

Sinon... pas d'idée. L'erreur vient du fait que la macro pointe vers un
objet - en l'occurence un objet indicé - qui n'existe pas.
Utilise-tu la boucle telle que je l'ai écrite ou l'as-tu modifiée ?
Essaie sur une page vide d'un nouveau classeur :

Sub supsp()
For Each saut In ActiveSheet.HPageBreaks
If saut.Location.Row = 15 Then
saut.Delete
Exit For ' Sinon erreur sur le dernier saut (car supprimé de la
collection)
End If
Next
End Sub

À suivre
Trirème

Ben nan y veut pas, j'ai la même version d'excel, ça bug dès la 1ère
ligne ?!
Désolé,
SB
"Trirème" a écrit dans le message de news:

Bonjour,
ça marche pas, j'ai l'erreur "9" L'indice n'appartient pas à la
sélection..
C'est curieux. Fais tourner la macro en mode pas à pas (touche F8) et

regarde si cela se produit immédiatement ou après plusieurs tours dans
la boucle.
Normalement ça devrait fonctionner, avec ou sans zone d'impression sur
la feuille.
En tout cas chez moi ça fonctionne (2003), avec ou sans saut de page,
avec ou sans zone d'impression.

NB J'avais mis "saut.Location.Row = 15" pour tester la ligne 15. À
adapter.

À suivre
Trirème








Avatar
SB
Bonjour,
J'ai la même erreur qu'avec Trirème "9" L'indice n'appartient pas à la
sélection.
Merci
SB


"JB" a écrit dans le message de news:

Bonjour,

Supprime les sauts de page entre A10 et A20

For i = ActiveSheet.HPageBreaks.Count To 1 Step -1
If Not Intersect([A10:A20],
Range(ActiveSheet.HPageBreaks(i).Location.Address)) Is Nothing Then
ActiveSheet.HPageBreaks(i).Delete
End If
Next i

JB


On 29 juin, 17:09, "SB" wrote:
Bonjour à toutes et à tous,
Je souhaite supprimer par macro un saut de page, quand je fais
l'enregistreur il me met ActveSheet.HPageBreaks(3).Delete
Le problème c'est que ce ne sera pas forcément le 3ème... je veux
supprimer
le saut de page avant la ligne 87 par ex
Merci de votre aide,
SB


Avatar
SB
Je pense avoir trouvé un début de réponse, en fait il compte tus les sauts
de pages.
Dans mon cas ActiveSheet.HPageBreaks.Count indique 7 alors que je n'ai que 3
sauts de pages imposés...
Il ne faudrait compter que les sauts de page imposés et je pense que la
boucle de JB devrait tourner.
Cordialement,
Sb


"SB" a écrit dans le message de news:

Bonjour à toutes et à tous,
Je souhaite supprimer par macro un saut de page, quand je fais
l'enregistreur il me met ActveSheet.HPageBreaks(3).Delete
Le problème c'est que ce ne sera pas forcément le 3ème... je veux
supprimer le saut de page avant la ligne 87 par ex
Merci de votre aide,
SB



Avatar
JB
Ajouter

On Error Resume Next avant la ligne où l'erreur se produit.

JB
On 30 juin, 11:13, "SB" wrote:
Je pense avoir trouvé un début de réponse, en fait il compte tus le s sauts
de pages.
Dans mon cas ActiveSheet.HPageBreaks.Count indique 7 alors que je n'ai qu e 3
sauts de pages imposés...
Il ne faudrait compter que les sauts de page imposés et je pense que la
boucle de JB devrait tourner.
Cordialement,
Sb

"SB" a écrit dans le message de news:




Bonjour à toutes et à tous,
Je souhaite supprimer par macro un saut de page, quand je fais
l'enregistreur il me met ActveSheet.HPageBreaks(3).Delete
Le problème c'est que ce ne sera pas forcément le 3ème... je veux
supprimer le saut de page avant la ligne 87 par ex
Merci de votre aide,
SB- Masquer le texte des messages précédents -


- Afficher le texte des messages précédents -



1 2