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

emplacement de ma valeur dans saut de page

8 réponses
Avatar
Ritalou
Bonsoir à tous
Grace a une fonction de LL (voir ci dessous) :Groupes de discussion
:microsoft.public.fr.excel (Date :2000/03/16 )
je trouve le numéro de la page sur laquelle sera imprimée une ligne
mais apres avoir lancé cette macro mon PC devient tres lent
Peut etre une astuce ou une autre solution
Par avance merci
Ritalou
Excel & Win 2000

'________________________________________

Function NumPage(Cellule As Range) As Integer

Dim VPC As Integer, HPC As Integer
Dim VPB As VPageBreak, HPB As HPageBreak
Dim Wksht As Worksheet
Dim Col As Integer, Ligne As Long

Set Wksht = Cellule.Worksheet
Ligne = Cellule.Row
Col = Cellule.Column
If Wksht.PageSetup.Order = xlDownThenOver Then
HPC = Wksht.HPageBreaks.Count + 1
VPC = 1
Else
VPC = Wksht.VPageBreaks.Count + 1
HPC = 1
End If
NumPage = 1
For Each VPB In Wksht.VPageBreaks
If VPB.Location.Column > Col Then Exit For
NumPage = NumPage + HPC
Next VPB
For Each HPB In Wksht.HPageBreaks
If HPB.Location.Row > Ligne Then Exit For
NumPage = NumPage + VPC
Next HPB

End Function

Sub Test()

MsgBox NumPage(ActiveCell)

End Sub

8 réponses

Avatar
Jean-François Aubert
salut Ritalou,

peut-être qu'un

Set Wksht =nothing

en fin de fonction ferait la différence....???

--
Amicalement

Jean-François Aubert
{Vaudois de la Côte Lémanique}


"Ritalou" a écrit dans le message de
news:uETRk%
Bonsoir à tous
Grace a une fonction de LL (voir ci dessous) :Groupes de discussion
:microsoft.public.fr.excel (Date :2000/03/16 )
je trouve le numéro de la page sur laquelle sera imprimée une ligne
mais apres avoir lancé cette macro mon PC devient tres lent
Peut etre une astuce ou une autre solution
Par avance merci
Ritalou
Excel & Win 2000

'________________________________________

Function NumPage(Cellule As Range) As Integer

Dim VPC As Integer, HPC As Integer
Dim VPB As VPageBreak, HPB As HPageBreak
Dim Wksht As Worksheet
Dim Col As Integer, Ligne As Long

Set Wksht = Cellule.Worksheet
Ligne = Cellule.Row
Col = Cellule.Column
If Wksht.PageSetup.Order = xlDownThenOver Then
HPC = Wksht.HPageBreaks.Count + 1
VPC = 1
Else
VPC = Wksht.VPageBreaks.Count + 1
HPC = 1
End If
NumPage = 1
For Each VPB In Wksht.VPageBreaks
If VPB.Location.Column > Col Then Exit For
NumPage = NumPage + HPC
Next VPB
For Each HPB In Wksht.HPageBreaks
If HPB.Location.Row > Ligne Then Exit For
NumPage = NumPage + VPC
Next HPB

End Function

Sub Test()

MsgBox NumPage(ActiveCell)

End Sub





Avatar
Ritalou
Merci Jean-François
je teste
Ritalou
Excel & Win 2000



Jean-François Aubert <à a écrit dans le message :

salut Ritalou,

peut-être qu'un

Set Wksht =nothing

en fin de fonction ferait la différence....???

--
Amicalement

Jean-François Aubert
{Vaudois de la Côte Lémanique}


"Ritalou" a écrit dans le message de
news:uETRk%
Bonsoir à tous
Grace a une fonction de LL (voir ci dessous) :Groupes de discussion
:microsoft.public.fr.excel (Date :2000/03/16 )
je trouve le numéro de la page sur laquelle sera imprimée une ligne
mais apres avoir lancé cette macro mon PC devient tres lent
Peut etre une astuce ou une autre solution
Par avance merci
Ritalou
Excel & Win 2000

'________________________________________

Function NumPage(Cellule As Range) As Integer

Dim VPC As Integer, HPC As Integer
Dim VPB As VPageBreak, HPB As HPageBreak
Dim Wksht As Worksheet
Dim Col As Integer, Ligne As Long

Set Wksht = Cellule.Worksheet
Ligne = Cellule.Row
Col = Cellule.Column
If Wksht.PageSetup.Order = xlDownThenOver Then
HPC = Wksht.HPageBreaks.Count + 1
VPC = 1
Else
VPC = Wksht.VPageBreaks.Count + 1
HPC = 1
End If
NumPage = 1
For Each VPB In Wksht.VPageBreaks
If VPB.Location.Column > Col Then Exit For
NumPage = NumPage + HPC
Next VPB
For Each HPB In Wksht.HPageBreaks
If HPB.Location.Row > Ligne Then Exit For
NumPage = NumPage + VPC
Next HPB

End Function

Sub Test()

MsgBox NumPage(ActiveCell)

End Sub









Avatar
Ritalou
non, Set Wksht =nothing
ne change rien au ralentissement
mais je pense que le pilotage de l'imprimante par VBA (Preview, page
etc...)
ne doit pas etre le top
Merci quand meme
Ritalou



Jean-François Aubert <à a écrit dans le message :

salut Ritalou,

peut-être qu'un

Set Wksht =nothing

en fin de fonction ferait la différence....???

--
Amicalement

Jean-François Aubert
{Vaudois de la Côte Lémanique}


"Ritalou" a écrit dans le message de
news:uETRk%
Bonsoir à tous
Grace a une fonction de LL (voir ci dessous) :Groupes de discussion
:microsoft.public.fr.excel (Date :2000/03/16 )
je trouve le numéro de la page sur laquelle sera imprimée une ligne
mais apres avoir lancé cette macro mon PC devient tres lent
Peut etre une astuce ou une autre solution
Par avance merci
Ritalou
Excel & Win 2000

'________________________________________

Function NumPage(Cellule As Range) As Integer

Dim VPC As Integer, HPC As Integer
Dim VPB As VPageBreak, HPB As HPageBreak
Dim Wksht As Worksheet
Dim Col As Integer, Ligne As Long

Set Wksht = Cellule.Worksheet
Ligne = Cellule.Row
Col = Cellule.Column
If Wksht.PageSetup.Order = xlDownThenOver Then
HPC = Wksht.HPageBreaks.Count + 1
VPC = 1
Else
VPC = Wksht.VPageBreaks.Count + 1
HPC = 1
End If
NumPage = 1
For Each VPB In Wksht.VPageBreaks
If VPB.Location.Column > Col Then Exit For
NumPage = NumPage + HPC
Next VPB
For Each HPB In Wksht.HPageBreaks
If HPB.Location.Row > Ligne Then Exit For
NumPage = NumPage + VPC
Next HPB

End Function

Sub Test()

MsgBox NumPage(ActiveCell)

End Sub









Avatar
Benead
Salut Ritalou,

Tu n'as pas mis la fonction dans une cellule ? (=NumPage(A1))

Si non essaie en mettant "End" en fin de proc (réinitialisation de toutes les variables), on ne sait jamais :
Sub Test()
MsgBox NumPage(ActiveCell)
End
End Sub

Ritalou a écrit:
Bonsoir à tous
Grace a une fonction de LL (voir ci dessous) :Groupes de discussion
:microsoft.public.fr.excel (Date :2000/03/16 )
je trouve le numéro de la page sur laquelle sera imprimée une ligne
mais apres avoir lancé cette macro mon PC devient tres lent
Peut etre une astuce ou une autre solution
Par avance merci
Ritalou
Excel & Win 2000

'________________________________________

Function NumPage(Cellule As Range) As Integer

Dim VPC As Integer, HPC As Integer
Dim VPB As VPageBreak, HPB As HPageBreak
Dim Wksht As Worksheet
Dim Col As Integer, Ligne As Long

Set Wksht = Cellule.Worksheet
Ligne = Cellule.Row
Col = Cellule.Column
If Wksht.PageSetup.Order = xlDownThenOver Then
HPC = Wksht.HPageBreaks.Count + 1
VPC = 1
Else
VPC = Wksht.VPageBreaks.Count + 1
HPC = 1
End If
NumPage = 1
For Each VPB In Wksht.VPageBreaks
If VPB.Location.Column > Col Then Exit For
NumPage = NumPage + HPC
Next VPB
For Each HPB In Wksht.HPageBreaks
If HPB.Location.Row > Ligne Then Exit For
NumPage = NumPage + VPC
Next HPB

End Function

Sub Test()

MsgBox NumPage(ActiveCell)

End Sub






--
Benead
Bretagne

Xl97

Avatar
Ritalou
Benead

<Si non essaie en mettant "End" en fin de proc (réinitialisation de toutes
les variables), on ne sait jamais>
Meme avec cette idée ca ne marche pas
et donc un travail simple dans excel prend toujours enormement de temps
par contre si je ferme le fichier et que je le reouvre sans lancer le bout
de macro
alors là tout vas bien et des que je lance la macro
Excel freine de partout
Merci quand meme de ton idée
Ritalou




Benead a écrit dans le message :

Salut Ritalou,

Tu n'as pas mis la fonction dans une cellule ? (=NumPage(A1))

Si non essaie en mettant "End" en fin de proc (réinitialisation de toutes
les variables), on ne sait jamais :

Sub Test()
MsgBox NumPage(ActiveCell)
End
End Sub

Ritalou a écrit:
Bonsoir à tous
Grace a une fonction de LL (voir ci dessous) :Groupes de discussion
:microsoft.public.fr.excel (Date :2000/03/16 )
je trouve le numéro de la page sur laquelle sera imprimée une ligne
mais apres avoir lancé cette macro mon PC devient tres lent
Peut etre une astuce ou une autre solution
Par avance merci
Ritalou
Excel & Win 2000

'________________________________________

Function NumPage(Cellule As Range) As Integer

Dim VPC As Integer, HPC As Integer
Dim VPB As VPageBreak, HPB As HPageBreak
Dim Wksht As Worksheet
Dim Col As Integer, Ligne As Long

Set Wksht = Cellule.Worksheet
Ligne = Cellule.Row
Col = Cellule.Column
If Wksht.PageSetup.Order = xlDownThenOver Then
HPC = Wksht.HPageBreaks.Count + 1
VPC = 1
Else
VPC = Wksht.VPageBreaks.Count + 1
HPC = 1
End If
NumPage = 1
For Each VPB In Wksht.VPageBreaks
If VPB.Location.Column > Col Then Exit For
NumPage = NumPage + HPC
Next VPB
For Each HPB In Wksht.HPageBreaks
If HPB.Location.Row > Ligne Then Exit For
NumPage = NumPage + VPC
Next HPB

End Function

Sub Test()

MsgBox NumPage(ActiveCell)

End Sub






--
Benead
Bretagne

Xl97




Avatar
Benead
Salut Ritalou,

Je me demande si le pb ne vient pas de ton driver d'impression.
Peux-tu en essayer un autre ou lancer la macro d'un autre ordinateur ?

A+
Benead
Bretagne
Xl97

Ritalou a écrit:
Benead

<Si non essaie en mettant "End" en fin de proc (réinitialisation de toutes
les variables), on ne sait jamais>
Meme avec cette idée ca ne marche pas
et donc un travail simple dans excel prend toujours enormement de temps
par contre si je ferme le fichier et que je le reouvre sans lancer le bout
de macro
alors là tout vas bien et des que je lance la macro
Excel freine de partout
Merci quand meme de ton idée
Ritalou




Benead a écrit dans le message :


Salut Ritalou,

Tu n'as pas mis la fonction dans une cellule ? (=NumPage(A1))

Si non essaie en mettant "End" en fin de proc (réinitialisation de toutes


les variables), on ne sait jamais :

Sub Test()
MsgBox NumPage(ActiveCell)
End
End Sub

Ritalou a écrit:

Bonsoir à tous
Grace a une fonction de LL (voir ci dessous) :Groupes de discussion
:microsoft.public.fr.excel (Date :2000/03/16 )
je trouve le numéro de la page sur laquelle sera imprimée une ligne
mais apres avoir lancé cette macro mon PC devient tres lent
Peut etre une astuce ou une autre solution
Par avance merci
Ritalou
Excel & Win 2000

'________________________________________

Function NumPage(Cellule As Range) As Integer

Dim VPC As Integer, HPC As Integer
Dim VPB As VPageBreak, HPB As HPageBreak
Dim Wksht As Worksheet
Dim Col As Integer, Ligne As Long

Set Wksht = Cellule.Worksheet
Ligne = Cellule.Row
Col = Cellule.Column
If Wksht.PageSetup.Order = xlDownThenOver Then
HPC = Wksht.HPageBreaks.Count + 1
VPC = 1
Else
VPC = Wksht.VPageBreaks.Count + 1
HPC = 1
End If
NumPage = 1
For Each VPB In Wksht.VPageBreaks
If VPB.Location.Column > Col Then Exit For
NumPage = NumPage + HPC
Next VPB
For Each HPB In Wksht.HPageBreaks
If HPB.Location.Row > Ligne Then Exit For
NumPage = NumPage + VPC
Next HPB

End Function

Sub Test()

MsgBox NumPage(ActiveCell)

End Sub






--
Benead
Bretagne

Xl97









Avatar
Ritalou
Bonjour Benead
j'ai le meme soucis au boulot ou a la maison
et a la maison je n'ai toujours pas installé mon imprimante
pas grave je change de tactique
merci quand meme
Ritalou

Benead a écrit dans le message :

Salut Ritalou,

Je me demande si le pb ne vient pas de ton driver d'impression.
Peux-tu en essayer un autre ou lancer la macro d'un autre ordinateur ?

A+
Benead
Bretagne
Xl97

Ritalou a écrit:
Benead

<Si non essaie en mettant "End" en fin de proc (réinitialisation de
toutes


les variables), on ne sait jamais>
Meme avec cette idée ca ne marche pas
et donc un travail simple dans excel prend toujours enormement de temps
par contre si je ferme le fichier et que je le reouvre sans lancer le
bout


de macro
alors là tout vas bien et des que je lance la macro
Excel freine de partout
Merci quand meme de ton idée
Ritalou




Benead a écrit dans le message
:




Salut Ritalou,

Tu n'as pas mis la fonction dans une cellule ? (=NumPage(A1))

Si non essaie en mettant "End" en fin de proc (réinitialisation de
toutes




les variables), on ne sait jamais :

Sub Test()
MsgBox NumPage(ActiveCell)
End
End Sub

Ritalou a écrit:

Bonsoir à tous
Grace a une fonction de LL (voir ci dessous) :Groupes de discussion
:microsoft.public.fr.excel (Date :2000/03/16 )
je trouve le numéro de la page sur laquelle sera imprimée une ligne
mais apres avoir lancé cette macro mon PC devient tres lent
Peut etre une astuce ou une autre solution
Par avance merci
Ritalou
Excel & Win 2000

'________________________________________

Function NumPage(Cellule As Range) As Integer

Dim VPC As Integer, HPC As Integer
Dim VPB As VPageBreak, HPB As HPageBreak
Dim Wksht As Worksheet
Dim Col As Integer, Ligne As Long

Set Wksht = Cellule.Worksheet
Ligne = Cellule.Row
Col = Cellule.Column
If Wksht.PageSetup.Order = xlDownThenOver Then
HPC = Wksht.HPageBreaks.Count + 1
VPC = 1
Else
VPC = Wksht.VPageBreaks.Count + 1
HPC = 1
End If
NumPage = 1
For Each VPB In Wksht.VPageBreaks
If VPB.Location.Column > Col Then Exit For
NumPage = NumPage + HPC
Next VPB
For Each HPB In Wksht.HPageBreaks
If HPB.Location.Row > Ligne Then Exit For
NumPage = NumPage + VPC
Next HPB

End Function

Sub Test()

MsgBox NumPage(ActiveCell)

End Sub






--
Benead
Bretagne

Xl97













Avatar
Ritalou
Bonjour
Mon erreur qui fait ralentir ---> ActiveSheet.PageSetup.PrintArea "$B$:$G$"
au lieu de ---> ActiveSheet.PageSetup.PrintArea "$B1$:$G$1940"
Maintenant c'est ok
Ritalou


"Benead" a écrit dans le message
news:
Salut Ritalou,

Je me demande si le pb ne vient pas de ton driver d'impression.
Peux-tu en essayer un autre ou lancer la macro d'un autre ordinateur ?

A+
Benead
Bretagne
Xl97

Ritalou a écrit:
Benead

<Si non essaie en mettant "End" en fin de proc (réinitialisation de
toutes


les variables), on ne sait jamais>
Meme avec cette idée ca ne marche pas
et donc un travail simple dans excel prend toujours enormement de temps
par contre si je ferme le fichier et que je le reouvre sans lancer le
bout


de macro
alors là tout vas bien et des que je lance la macro
Excel freine de partout
Merci quand meme de ton idée
Ritalou




Benead a écrit dans le message
:




Salut Ritalou,

Tu n'as pas mis la fonction dans une cellule ? (=NumPage(A1))

Si non essaie en mettant "End" en fin de proc (réinitialisation de
toutes




les variables), on ne sait jamais :

Sub Test()
MsgBox NumPage(ActiveCell)
End
End Sub

Ritalou a écrit:

Bonsoir à tous
Grace a une fonction de LL (voir ci dessous) :Groupes de discussion
:microsoft.public.fr.excel (Date :2000/03/16 )
je trouve le numéro de la page sur laquelle sera imprimée une ligne
mais apres avoir lancé cette macro mon PC devient tres lent
Peut etre une astuce ou une autre solution
Par avance merci
Ritalou
Excel & Win 2000

'________________________________________

Function NumPage(Cellule As Range) As Integer

Dim VPC As Integer, HPC As Integer
Dim VPB As VPageBreak, HPB As HPageBreak
Dim Wksht As Worksheet
Dim Col As Integer, Ligne As Long

Set Wksht = Cellule.Worksheet
Ligne = Cellule.Row
Col = Cellule.Column
If Wksht.PageSetup.Order = xlDownThenOver Then
HPC = Wksht.HPageBreaks.Count + 1
VPC = 1
Else
VPC = Wksht.VPageBreaks.Count + 1
HPC = 1
End If
NumPage = 1
For Each VPB In Wksht.VPageBreaks
If VPB.Location.Column > Col Then Exit For
NumPage = NumPage + HPC
Next VPB
For Each HPB In Wksht.HPageBreaks
If HPB.Location.Row > Ligne Then Exit For
NumPage = NumPage + VPC
Next HPB

End Function

Sub Test()

MsgBox NumPage(ActiveCell)

End Sub






--
Benead
Bretagne

Xl97