Savoir s'il y a un page break [Résolu]

Signaler
Messages postés
3258
Date d'inscription
jeudi 26 novembre 2009
Statut
Membre
Dernière intervention
3 décembre 2019
-
Messages postés
18038
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 avril 2018
-
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

Messages postés
18038
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 avril 2018
237
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.