Savoir s'il y a un page break

Résolu
cs_ShayW Messages postés 3253 Date d'inscription jeudi 26 novembre 2009 Statut Membre Dernière intervention 3 décembre 2019 - Modifié par cs_ShayW le 2/08/2016 à 14:02
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 - 2 août 2016 à 17:29
Bonjour,
Je pilote excel via le vb.net
je copie une liste de string dans une colonne et s'il y a un pagebreak automatique
faire quelque chose
le code
 dim indexrow as integer
For Each item As string In mylist
.Cells(indexrow, 3) = item
If .Rows(indexrow) Is xlPageBreakAutomatic Then
'blabla
end if
indexrow +=1
next
Dim x As Integer
x = .HPageBreaks.Count


j'ai mis un breakpoint à la ligne 'blabla et quand je lance il n'y a pas d'arret
par contre
x = .HPageBreaks.Count
égale 1

merci

1 réponse

ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 211
2 août 2016 à 17:29
Bonjour,

Je vois mal ce que vient faire dans cette affaire ta "liste de string" Mylist

Les sauts de page concerné constituent la collection HPageBreaks.
les items de cette collection ont une propriété Location et une propriété Type
Regarde ce que fait ceci (exemple)
For i = 1 To ActiveSheet.HPageBreaks.Count
MsgBox ActiveSheet.HPageBreaks.Item(i).Location.Row & " " & ActiveSheet.HPageBreaks.Item(1).Type
Next

Attention : si tu pilotes depuis une autre appli (VB.Net, apparemment) elle ne connaît pas la valeur des constantes de VBA/Excel, à lui indiquer, donc. xlPageBreakAutomatic vaut par exemple -4105.
En ce qui concerne ton problème : tu peux toujours constituer (par Union) une plage des Rows concernés (les .location.row) et vérifier (par la méthode intersect) si une ligne fait ou non partie de cette plage.
Je te laisse t'y mettre.

0
Rejoignez-nous