cs_ShayW
Messages postés3258Date d'inscriptionjeudi 26 novembre 2009StatutMembreDernière intervention 3 décembre 2019
-
Modifié par cs_ShayW le 2/08/2016 à 14:02
ucfoutu
Messages postés18038Date d'inscriptionlundi 7 décembre 2009StatutModérateurDernière intervention11 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
ucfoutu
Messages postés18038Date d'inscriptionlundi 7 décembre 2009StatutModérateurDernière intervention11 avril 2018219 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.