Ceci est une fonction de Laurent Longre qui sert à déterminer
à quelle page d'impression appartient une cellule :
'-------------------------------------
Function NUMPAGE(Cellule As Range) As Integer
' LL4Plumes
Dim VPC As Integer, HPC As Integer
Dim VPB As VPageBreak, HPB As HPageBreak
Dim Ligne As Long, Col As Integer
With Cellule.Worksheet
If .PageSetup.Order = xlDownThenOver Then
HPC = .HPageBreaks.Count + 1
VPC = 1
Else
VPC = .VPageBreaks.Count + 1
HPC = 1
End If
NUMPAGE = 1
Col = Cellule.Column
For Each VPB In .VPageBreaks
If VPB.Location.Column > Col Then Exit For
NUMPAGE = NUMPAGE + HPC
Next VPB
Ligne = Cellule.Row
For Each HPB In .HPageBreaks
If HPB.Location.Row > Ligne Then Exit For
NUMPAGE = NUMPAGE + VPC
Next HPB
End With
End Function
'-------------------------------------
"Olivier BERNARD @prisme.fr>" <olivier.bernard<NoSPAM> a écrit dans le
message de news:
%
Bonjour à tous,
J'ai un soucis pour connaitre le numéro de page d'une cellule. J'utilise
une
macro complémentaire MOREFUNC réalisée par Laurent LONGRE.
Ma macro traite toute une liste de cellules dont je cherche à connaitre le
numéro de page dans le but de créer un sommaire. Cette macro s'enchaine
pour
autant de document que j'ai à réaliser. Le premier passage se passe bien.
A
partir du deuxième document, la macro plante sur l'instruction suivante :
Range(Cellule).Delete Shift:=xlToLeft
avec le message suivant : Erreur 1004 = la méthode 'Range' de l'objet
'_global' a échoué
Lorsque je passe en déboggage, la variable Cellule est bien alimentée > "A:B,D:D,O:Y,Z:IV"
Si je fais "Continuer", l'instruction s'exécute correctement et pour tout
le
reste du document. Mais le plantage se reproduit au document suivant.
Vos idées pour résoudre mon problème seront les biens venues
Merci d'avance
Olivier
Ceci est une fonction de Laurent Longre qui sert à déterminer
à quelle page d'impression appartient une cellule :
'-------------------------------------
Function NUMPAGE(Cellule As Range) As Integer
' LL4Plumes
Dim VPC As Integer, HPC As Integer
Dim VPB As VPageBreak, HPB As HPageBreak
Dim Ligne As Long, Col As Integer
With Cellule.Worksheet
If .PageSetup.Order = xlDownThenOver Then
HPC = .HPageBreaks.Count + 1
VPC = 1
Else
VPC = .VPageBreaks.Count + 1
HPC = 1
End If
NUMPAGE = 1
Col = Cellule.Column
For Each VPB In .VPageBreaks
If VPB.Location.Column > Col Then Exit For
NUMPAGE = NUMPAGE + HPC
Next VPB
Ligne = Cellule.Row
For Each HPB In .HPageBreaks
If HPB.Location.Row > Ligne Then Exit For
NUMPAGE = NUMPAGE + VPC
Next HPB
End With
End Function
'-------------------------------------
"Olivier BERNARD @prisme.fr>" <olivier.bernard<NoSPAM> a écrit dans le
message de news:
%23H3W7YsSHHA.4632@TK2MSFTNGP04.phx.gbl...
Bonjour à tous,
J'ai un soucis pour connaitre le numéro de page d'une cellule. J'utilise
une
macro complémentaire MOREFUNC réalisée par Laurent LONGRE.
Ma macro traite toute une liste de cellules dont je cherche à connaitre le
numéro de page dans le but de créer un sommaire. Cette macro s'enchaine
pour
autant de document que j'ai à réaliser. Le premier passage se passe bien.
A
partir du deuxième document, la macro plante sur l'instruction suivante :
Range(Cellule).Delete Shift:=xlToLeft
avec le message suivant : Erreur 1004 = la méthode 'Range' de l'objet
'_global' a échoué
Lorsque je passe en déboggage, la variable Cellule est bien alimentée > "A:B,D:D,O:Y,Z:IV"
Si je fais "Continuer", l'instruction s'exécute correctement et pour tout
le
reste du document. Mais le plantage se reproduit au document suivant.
Vos idées pour résoudre mon problème seront les biens venues
Merci d'avance
Olivier
Ceci est une fonction de Laurent Longre qui sert à déterminer
à quelle page d'impression appartient une cellule :
'-------------------------------------
Function NUMPAGE(Cellule As Range) As Integer
' LL4Plumes
Dim VPC As Integer, HPC As Integer
Dim VPB As VPageBreak, HPB As HPageBreak
Dim Ligne As Long, Col As Integer
With Cellule.Worksheet
If .PageSetup.Order = xlDownThenOver Then
HPC = .HPageBreaks.Count + 1
VPC = 1
Else
VPC = .VPageBreaks.Count + 1
HPC = 1
End If
NUMPAGE = 1
Col = Cellule.Column
For Each VPB In .VPageBreaks
If VPB.Location.Column > Col Then Exit For
NUMPAGE = NUMPAGE + HPC
Next VPB
Ligne = Cellule.Row
For Each HPB In .HPageBreaks
If HPB.Location.Row > Ligne Then Exit For
NUMPAGE = NUMPAGE + VPC
Next HPB
End With
End Function
'-------------------------------------
"Olivier BERNARD @prisme.fr>" <olivier.bernard<NoSPAM> a écrit dans le
message de news:
%
Bonjour à tous,
J'ai un soucis pour connaitre le numéro de page d'une cellule. J'utilise
une
macro complémentaire MOREFUNC réalisée par Laurent LONGRE.
Ma macro traite toute une liste de cellules dont je cherche à connaitre le
numéro de page dans le but de créer un sommaire. Cette macro s'enchaine
pour
autant de document que j'ai à réaliser. Le premier passage se passe bien.
A
partir du deuxième document, la macro plante sur l'instruction suivante :
Range(Cellule).Delete Shift:=xlToLeft
avec le message suivant : Erreur 1004 = la méthode 'Range' de l'objet
'_global' a échoué
Lorsque je passe en déboggage, la variable Cellule est bien alimentée > "A:B,D:D,O:Y,Z:IV"
Si je fais "Continuer", l'instruction s'exécute correctement et pour tout
le
reste du document. Mais le plantage se reproduit au document suivant.
Vos idées pour résoudre mon problème seront les biens venues
Merci d'avance
Olivier
Ceci est une fonction de Laurent Longre qui sert à déterminer
à quelle page d'impression appartient une cellule :
'-------------------------------------
Function NUMPAGE(Cellule As Range) As Integer
' LL4Plumes
Dim VPC As Integer, HPC As Integer
Dim VPB As VPageBreak, HPB As HPageBreak
Dim Ligne As Long, Col As Integer
With Cellule.Worksheet
If .PageSetup.Order = xlDownThenOver Then
HPC = .HPageBreaks.Count + 1
VPC = 1
Else
VPC = .VPageBreaks.Count + 1
HPC = 1
End If
NUMPAGE = 1
Col = Cellule.Column
For Each VPB In .VPageBreaks
If VPB.Location.Column > Col Then Exit For
NUMPAGE = NUMPAGE + HPC
Next VPB
Ligne = Cellule.Row
For Each HPB In .HPageBreaks
If HPB.Location.Row > Ligne Then Exit For
NUMPAGE = NUMPAGE + VPC
Next HPB
End With
End Function
'-------------------------------------
"Olivier BERNARD @prisme.fr>" <olivier.bernard<NoSPAM> a écrit dans le
message de news:
%
Bonjour à tous,
J'ai un soucis pour connaitre le numéro de page d'une cellule. J'utilise
une
macro complémentaire MOREFUNC réalisée par Laurent LONGRE.
Ma macro traite toute une liste de cellules dont je cherche à connaitre le
numéro de page dans le but de créer un sommaire. Cette macro s'enchaine
pour
autant de document que j'ai à réaliser. Le premier passage se passe bien.
A
partir du deuxième document, la macro plante sur l'instruction suivante :
Range(Cellule).Delete Shift:=xlToLeft
avec le message suivant : Erreur 1004 = la méthode 'Range' de l'objet
'_global' a échoué
Lorsque je passe en déboggage, la variable Cellule est bien alimentée > "A:B,D:D,O:Y,Z:IV"
Si je fais "Continuer", l'instruction s'exécute correctement et pour tout
le
reste du document. Mais le plantage se reproduit au document suivant.
Vos idées pour résoudre mon problème seront les biens venues
Merci d'avance
Olivier
Ceci est une fonction de Laurent Longre qui sert à déterminer
à quelle page d'impression appartient une cellule :
'-------------------------------------
Function NUMPAGE(Cellule As Range) As Integer
' LL4Plumes
Dim VPC As Integer, HPC As Integer
Dim VPB As VPageBreak, HPB As HPageBreak
Dim Ligne As Long, Col As Integer
With Cellule.Worksheet
If .PageSetup.Order = xlDownThenOver Then
HPC = .HPageBreaks.Count + 1
VPC = 1
Else
VPC = .VPageBreaks.Count + 1
HPC = 1
End If
NUMPAGE = 1
Col = Cellule.Column
For Each VPB In .VPageBreaks
If VPB.Location.Column > Col Then Exit For
NUMPAGE = NUMPAGE + HPC
Next VPB
Ligne = Cellule.Row
For Each HPB In .HPageBreaks
If HPB.Location.Row > Ligne Then Exit For
NUMPAGE = NUMPAGE + VPC
Next HPB
End With
End Function
'-------------------------------------
"Olivier BERNARD @prisme.fr>" <olivier.bernard<NoSPAM> a écrit dans le
message de news:
%23H3W7YsSHHA.4632@TK2MSFTNGP04.phx.gbl...
Bonjour à tous,
J'ai un soucis pour connaitre le numéro de page d'une cellule. J'utilise
une
macro complémentaire MOREFUNC réalisée par Laurent LONGRE.
Ma macro traite toute une liste de cellules dont je cherche à connaitre le
numéro de page dans le but de créer un sommaire. Cette macro s'enchaine
pour
autant de document que j'ai à réaliser. Le premier passage se passe bien.
A
partir du deuxième document, la macro plante sur l'instruction suivante :
Range(Cellule).Delete Shift:=xlToLeft
avec le message suivant : Erreur 1004 = la méthode 'Range' de l'objet
'_global' a échoué
Lorsque je passe en déboggage, la variable Cellule est bien alimentée > "A:B,D:D,O:Y,Z:IV"
Si je fais "Continuer", l'instruction s'exécute correctement et pour tout
le
reste du document. Mais le plantage se reproduit au document suivant.
Vos idées pour résoudre mon problème seront les biens venues
Merci d'avance
Olivier
Ceci est une fonction de Laurent Longre qui sert à déterminer
à quelle page d'impression appartient une cellule :
'-------------------------------------
Function NUMPAGE(Cellule As Range) As Integer
' LL4Plumes
Dim VPC As Integer, HPC As Integer
Dim VPB As VPageBreak, HPB As HPageBreak
Dim Ligne As Long, Col As Integer
With Cellule.Worksheet
If .PageSetup.Order = xlDownThenOver Then
HPC = .HPageBreaks.Count + 1
VPC = 1
Else
VPC = .VPageBreaks.Count + 1
HPC = 1
End If
NUMPAGE = 1
Col = Cellule.Column
For Each VPB In .VPageBreaks
If VPB.Location.Column > Col Then Exit For
NUMPAGE = NUMPAGE + HPC
Next VPB
Ligne = Cellule.Row
For Each HPB In .HPageBreaks
If HPB.Location.Row > Ligne Then Exit For
NUMPAGE = NUMPAGE + VPC
Next HPB
End With
End Function
'-------------------------------------
"Olivier BERNARD @prisme.fr>" <olivier.bernard<NoSPAM> a écrit dans le
message de news:
%
Bonjour à tous,
J'ai un soucis pour connaitre le numéro de page d'une cellule. J'utilise
une
macro complémentaire MOREFUNC réalisée par Laurent LONGRE.
Ma macro traite toute une liste de cellules dont je cherche à connaitre le
numéro de page dans le but de créer un sommaire. Cette macro s'enchaine
pour
autant de document que j'ai à réaliser. Le premier passage se passe bien.
A
partir du deuxième document, la macro plante sur l'instruction suivante :
Range(Cellule).Delete Shift:=xlToLeft
avec le message suivant : Erreur 1004 = la méthode 'Range' de l'objet
'_global' a échoué
Lorsque je passe en déboggage, la variable Cellule est bien alimentée > "A:B,D:D,O:Y,Z:IV"
Si je fais "Continuer", l'instruction s'exécute correctement et pour tout
le
reste du document. Mais le plantage se reproduit au document suivant.
Vos idées pour résoudre mon problème seront les biens venues
Merci d'avance
Olivier
Range(Cellule).Delete Shift:=xlToLeft
avec le message suivant : Erreur 1004 = la méthode 'Range' de l'objet
'_global' a échoué
Ok pour la longue explication...mais
Qu'est-ce que tu tentes de réaliser ?
Quels sont les difficultés rencontrées avec la fonction proposée ?
Peux-tu donner un exemple précis de cas où la fonction ne
répond pas à tes besoins ? Et dans ce cas, quelle est la réponse
attendue et quelle est la réponse obtenue ?
"Olivier BERNARD @prisme.fr>" <olivier.bernard<NoSPAM> a écrit dans le message de news:
J'ai aussi cette macro dans mon code source mais il arrive qu'elle ne
fonctionne pas toujours correctement (c'est pour cela que j'ai cherché une
autre méthode).
Le problème rencontré dans la macro dont vous me donnez le source est que
sur certain poste, il se mélange les pinceaux dans les tableaux HPageBreaks
et VPageBreaks (je ne me souviens plus exactement du message, le problème ne
se pose pas sur tous les postes...). J'ai pu contourner le problème en
ajoutant le code suivant à la fin de la function :
...
'
' Correction du 10/01/2006 : Gestion des erreurs lors de la recherche du
numéro de page d'une cellule
Exit Function
'
' Gestion des Erreurs....
ErrorNuméroPage:
If ActiveWindow.View = xlPageBreakPreview Then
ActiveWindow.View = xlNormalView
NbreError = NbreError + 1
Else
ActiveWindow.View = xlPageBreakPreview
NbreError = NbreError + 1
End If
If NbreError > 2 Then
Message = "Erreur de gestion des sauts de pages..."
Message = Message & Chr(13) & Chr(10) & "OK : Continue."
Message = Message & Chr(13) & Chr(10) & "Annuler : Met fin à la
génération."
Title = "Avertissement"
Rep = MsgBox(Message, 1, Title)
If Rep = 2 Then ' Annuler ==> FIN
End
End If
End If
Resume
' FinNuméroPage:
End Function
Ce bout de code me permet de basculer en mode 'normal' ou 'Aperçu des sauts
de page' et de relancer le calcul du numéro de page sans pour autant
boucler... J'avais constaté que le type d'affichage avait une influence dans
l'exécution de la macro... Mais cela ne marche pas à tous les coups...
Je me suis donc tourné vers la macro complémentaire que je sitais dans mon
premier mail qui ne fonctionne pas lors de la génération du deuxième
document...
Désolé pour cette explication un peu longue mais c'est aussi pour vous ayez
connaissance de toutes les investigations que j'ai pu mettre en oeuvre pour
résoudre mon problème.
Je suis intéressé par toutes vos propositions pouvant déboucher sur le
chemin d'une solution. Je peux envoyer un fichier de test si quelqu'un
aurait un peu de temps pour essayer...
A+
Olivier
"MichDenis" a écrit dans le message de
news:%23Rh$Ceci est une fonction de Laurent Longre qui sert à déterminer
à quelle page d'impression appartient une cellule :
'-------------------------------------
Function NUMPAGE(Cellule As Range) As Integer
' LL4Plumes
Dim VPC As Integer, HPC As Integer
Dim VPB As VPageBreak, HPB As HPageBreak
Dim Ligne As Long, Col As Integer
With Cellule.Worksheet
If .PageSetup.Order = xlDownThenOver Then
HPC = .HPageBreaks.Count + 1
VPC = 1
Else
VPC = .VPageBreaks.Count + 1
HPC = 1
End If
NUMPAGE = 1
Col = Cellule.Column
For Each VPB In .VPageBreaks
If VPB.Location.Column > Col Then Exit For
NUMPAGE = NUMPAGE + HPC
Next VPB
Ligne = Cellule.Row
For Each HPB In .HPageBreaks
If HPB.Location.Row > Ligne Then Exit For
NUMPAGE = NUMPAGE + VPC
Next HPB
End With
End Function
'-------------------------------------
"Olivier BERNARD @prisme.fr>" <olivier.bernard<NoSPAM> a écrit dans le
message de news:%
Bonjour à tous,
J'ai un soucis pour connaitre le numéro de page d'une cellule. J'utilise
unemacro complémentaire MOREFUNC réalisée par Laurent LONGRE.
Ma macro traite toute une liste de cellules dont je cherche à connaitre le
numéro de page dans le but de créer un sommaire. Cette macro s'enchaine
pourautant de document que j'ai à réaliser. Le premier passage se passe bien.
Apartir du deuxième document, la macro plante sur l'instruction suivante :
Range(Cellule).Delete Shift:=xlToLeft
avec le message suivant : Erreur 1004 = la méthode 'Range' de l'objet
'_global' a échoué
Lorsque je passe en déboggage, la variable Cellule est bien alimentée >> "A:B,D:D,O:Y,Z:IV"
Si je fais "Continuer", l'instruction s'exécute correctement et pour tout
lereste du document. Mais le plantage se reproduit au document suivant.
Vos idées pour résoudre mon problème seront les biens venues
Merci d'avance
Olivier
Range(Cellule).Delete Shift:=xlToLeft
avec le message suivant : Erreur 1004 = la méthode 'Range' de l'objet
'_global' a échoué
Ok pour la longue explication...mais
Qu'est-ce que tu tentes de réaliser ?
Quels sont les difficultés rencontrées avec la fonction proposée ?
Peux-tu donner un exemple précis de cas où la fonction ne
répond pas à tes besoins ? Et dans ce cas, quelle est la réponse
attendue et quelle est la réponse obtenue ?
"Olivier BERNARD @prisme.fr>" <olivier.bernard<NoSPAM> a écrit dans le message de news:
OmWk7stSHHA.1364@TK2MSFTNGP06.phx.gbl...
J'ai aussi cette macro dans mon code source mais il arrive qu'elle ne
fonctionne pas toujours correctement (c'est pour cela que j'ai cherché une
autre méthode).
Le problème rencontré dans la macro dont vous me donnez le source est que
sur certain poste, il se mélange les pinceaux dans les tableaux HPageBreaks
et VPageBreaks (je ne me souviens plus exactement du message, le problème ne
se pose pas sur tous les postes...). J'ai pu contourner le problème en
ajoutant le code suivant à la fin de la function :
...
'
' Correction du 10/01/2006 : Gestion des erreurs lors de la recherche du
numéro de page d'une cellule
Exit Function
'
' Gestion des Erreurs....
ErrorNuméroPage:
If ActiveWindow.View = xlPageBreakPreview Then
ActiveWindow.View = xlNormalView
NbreError = NbreError + 1
Else
ActiveWindow.View = xlPageBreakPreview
NbreError = NbreError + 1
End If
If NbreError > 2 Then
Message = "Erreur de gestion des sauts de pages..."
Message = Message & Chr(13) & Chr(10) & "OK : Continue."
Message = Message & Chr(13) & Chr(10) & "Annuler : Met fin à la
génération."
Title = "Avertissement"
Rep = MsgBox(Message, 1, Title)
If Rep = 2 Then ' Annuler ==> FIN
End
End If
End If
Resume
' FinNuméroPage:
End Function
Ce bout de code me permet de basculer en mode 'normal' ou 'Aperçu des sauts
de page' et de relancer le calcul du numéro de page sans pour autant
boucler... J'avais constaté que le type d'affichage avait une influence dans
l'exécution de la macro... Mais cela ne marche pas à tous les coups...
Je me suis donc tourné vers la macro complémentaire que je sitais dans mon
premier mail qui ne fonctionne pas lors de la génération du deuxième
document...
Désolé pour cette explication un peu longue mais c'est aussi pour vous ayez
connaissance de toutes les investigations que j'ai pu mettre en oeuvre pour
résoudre mon problème.
Je suis intéressé par toutes vos propositions pouvant déboucher sur le
chemin d'une solution. Je peux envoyer un fichier de test si quelqu'un
aurait un peu de temps pour essayer...
A+
Olivier
"MichDenis" <michdenis@hotmail.com> a écrit dans le message de
news:%23Rh$D8sSHHA.5060@TK2MSFTNGP06.phx.gbl...
Ceci est une fonction de Laurent Longre qui sert à déterminer
à quelle page d'impression appartient une cellule :
'-------------------------------------
Function NUMPAGE(Cellule As Range) As Integer
' LL4Plumes
Dim VPC As Integer, HPC As Integer
Dim VPB As VPageBreak, HPB As HPageBreak
Dim Ligne As Long, Col As Integer
With Cellule.Worksheet
If .PageSetup.Order = xlDownThenOver Then
HPC = .HPageBreaks.Count + 1
VPC = 1
Else
VPC = .VPageBreaks.Count + 1
HPC = 1
End If
NUMPAGE = 1
Col = Cellule.Column
For Each VPB In .VPageBreaks
If VPB.Location.Column > Col Then Exit For
NUMPAGE = NUMPAGE + HPC
Next VPB
Ligne = Cellule.Row
For Each HPB In .HPageBreaks
If HPB.Location.Row > Ligne Then Exit For
NUMPAGE = NUMPAGE + VPC
Next HPB
End With
End Function
'-------------------------------------
"Olivier BERNARD @prisme.fr>" <olivier.bernard<NoSPAM> a écrit dans le
message de news:
%23H3W7YsSHHA.4632@TK2MSFTNGP04.phx.gbl...
Bonjour à tous,
J'ai un soucis pour connaitre le numéro de page d'une cellule. J'utilise
une
macro complémentaire MOREFUNC réalisée par Laurent LONGRE.
Ma macro traite toute une liste de cellules dont je cherche à connaitre le
numéro de page dans le but de créer un sommaire. Cette macro s'enchaine
pour
autant de document que j'ai à réaliser. Le premier passage se passe bien.
A
partir du deuxième document, la macro plante sur l'instruction suivante :
Range(Cellule).Delete Shift:=xlToLeft
avec le message suivant : Erreur 1004 = la méthode 'Range' de l'objet
'_global' a échoué
Lorsque je passe en déboggage, la variable Cellule est bien alimentée >> "A:B,D:D,O:Y,Z:IV"
Si je fais "Continuer", l'instruction s'exécute correctement et pour tout
le
reste du document. Mais le plantage se reproduit au document suivant.
Vos idées pour résoudre mon problème seront les biens venues
Merci d'avance
Olivier
Range(Cellule).Delete Shift:=xlToLeft
avec le message suivant : Erreur 1004 = la méthode 'Range' de l'objet
'_global' a échoué
Ok pour la longue explication...mais
Qu'est-ce que tu tentes de réaliser ?
Quels sont les difficultés rencontrées avec la fonction proposée ?
Peux-tu donner un exemple précis de cas où la fonction ne
répond pas à tes besoins ? Et dans ce cas, quelle est la réponse
attendue et quelle est la réponse obtenue ?
"Olivier BERNARD @prisme.fr>" <olivier.bernard<NoSPAM> a écrit dans le message de news:
J'ai aussi cette macro dans mon code source mais il arrive qu'elle ne
fonctionne pas toujours correctement (c'est pour cela que j'ai cherché une
autre méthode).
Le problème rencontré dans la macro dont vous me donnez le source est que
sur certain poste, il se mélange les pinceaux dans les tableaux HPageBreaks
et VPageBreaks (je ne me souviens plus exactement du message, le problème ne
se pose pas sur tous les postes...). J'ai pu contourner le problème en
ajoutant le code suivant à la fin de la function :
...
'
' Correction du 10/01/2006 : Gestion des erreurs lors de la recherche du
numéro de page d'une cellule
Exit Function
'
' Gestion des Erreurs....
ErrorNuméroPage:
If ActiveWindow.View = xlPageBreakPreview Then
ActiveWindow.View = xlNormalView
NbreError = NbreError + 1
Else
ActiveWindow.View = xlPageBreakPreview
NbreError = NbreError + 1
End If
If NbreError > 2 Then
Message = "Erreur de gestion des sauts de pages..."
Message = Message & Chr(13) & Chr(10) & "OK : Continue."
Message = Message & Chr(13) & Chr(10) & "Annuler : Met fin à la
génération."
Title = "Avertissement"
Rep = MsgBox(Message, 1, Title)
If Rep = 2 Then ' Annuler ==> FIN
End
End If
End If
Resume
' FinNuméroPage:
End Function
Ce bout de code me permet de basculer en mode 'normal' ou 'Aperçu des sauts
de page' et de relancer le calcul du numéro de page sans pour autant
boucler... J'avais constaté que le type d'affichage avait une influence dans
l'exécution de la macro... Mais cela ne marche pas à tous les coups...
Je me suis donc tourné vers la macro complémentaire que je sitais dans mon
premier mail qui ne fonctionne pas lors de la génération du deuxième
document...
Désolé pour cette explication un peu longue mais c'est aussi pour vous ayez
connaissance de toutes les investigations que j'ai pu mettre en oeuvre pour
résoudre mon problème.
Je suis intéressé par toutes vos propositions pouvant déboucher sur le
chemin d'une solution. Je peux envoyer un fichier de test si quelqu'un
aurait un peu de temps pour essayer...
A+
Olivier
"MichDenis" a écrit dans le message de
news:%23Rh$Ceci est une fonction de Laurent Longre qui sert à déterminer
à quelle page d'impression appartient une cellule :
'-------------------------------------
Function NUMPAGE(Cellule As Range) As Integer
' LL4Plumes
Dim VPC As Integer, HPC As Integer
Dim VPB As VPageBreak, HPB As HPageBreak
Dim Ligne As Long, Col As Integer
With Cellule.Worksheet
If .PageSetup.Order = xlDownThenOver Then
HPC = .HPageBreaks.Count + 1
VPC = 1
Else
VPC = .VPageBreaks.Count + 1
HPC = 1
End If
NUMPAGE = 1
Col = Cellule.Column
For Each VPB In .VPageBreaks
If VPB.Location.Column > Col Then Exit For
NUMPAGE = NUMPAGE + HPC
Next VPB
Ligne = Cellule.Row
For Each HPB In .HPageBreaks
If HPB.Location.Row > Ligne Then Exit For
NUMPAGE = NUMPAGE + VPC
Next HPB
End With
End Function
'-------------------------------------
"Olivier BERNARD @prisme.fr>" <olivier.bernard<NoSPAM> a écrit dans le
message de news:%
Bonjour à tous,
J'ai un soucis pour connaitre le numéro de page d'une cellule. J'utilise
unemacro complémentaire MOREFUNC réalisée par Laurent LONGRE.
Ma macro traite toute une liste de cellules dont je cherche à connaitre le
numéro de page dans le but de créer un sommaire. Cette macro s'enchaine
pourautant de document que j'ai à réaliser. Le premier passage se passe bien.
Apartir du deuxième document, la macro plante sur l'instruction suivante :
Range(Cellule).Delete Shift:=xlToLeft
avec le message suivant : Erreur 1004 = la méthode 'Range' de l'objet
'_global' a échoué
Lorsque je passe en déboggage, la variable Cellule est bien alimentée >> "A:B,D:D,O:Y,Z:IV"
Si je fais "Continuer", l'instruction s'exécute correctement et pour tout
lereste du document. Mais le plantage se reproduit au document suivant.
Vos idées pour résoudre mon problème seront les biens venues
Merci d'avance
Olivier
Range(Cellule).Delete Shift:=xlToLeft
Range(Cellule).Delete Shift:=xlToLeft
Range(Cellule).Delete Shift:=xlToLeft