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

Messages postés
3244
Date d'inscription
jeudi 26 novembre 2009
Dernière intervention
13 décembre 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
Afficher la suite 

Votre réponse

1 réponse

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

Commenter la réponse de ucfoutu

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.