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

Nombre de pages à imprimer

6 réponses
Avatar
Patrick BASTARD
Bonjour, toutes et tous.

Le code suivant ne me donne pas systématiquement le bon nombre de pages à
imprimer.
(problème aléatoire).

Sub Imprime()

Dim NbPages As Byte
Dim Info As String

NbPages = Sheets("Etiquettes").VPageBreaks.Count + 1 *
Sheets("Etiquettes").HPageBreaks.Count + 1
Info = MsgBox("Préparez " & NbPages & " page(s) d'étiquettes.", vbYesNo
+ vbCritical + vbDefaultButton2, "Nombre de pages à imprimer. ")
If Info = vbYes Then
With Sheets("Etiquettes")
.Visible = True
.PrintPreview
.Visible = False
End With
End If
End Sub

La zone d'impression est dynamique (merci Jacques) :
=DECALER(Etiquettes!$A$1;;;MAX(SI(Etiquettes!$G$2:$G$1024<>"";LIGNE(Etiquettes!$A$2:$G$1024);0));7)

J'ai essayé d'ajouter un Calculate après la déclaration des variables, mais
le problème persiste.

Merci par avance à qui pourrait me dire où ça coince ?
--
Bien amicordialement,
P. Bastard

Avant d'imprimer ce mail, ayez une pensée pour les arbres.

6 réponses

Avatar
JB
Bonjour,

Peut être les () manquantes?

NbPages = (Sheets("Etiquettes").VPageBreaks.Count + 1) *
(Sheets("Etiquettes").HPageBreaks.Count + 1)

JB

On 9 sep, 17:11, "Patrick BASTARD"
wrote:
Bonjour, toutes et tous.

Le code suivant ne me donne pas systématiquement le bon nombre de pages à
imprimer.
(problème aléatoire).

Sub Imprime()

Dim NbPages As Byte
Dim Info As String

NbPages = Sheets("Etiquettes").VPageBreaks.Count + 1 *
Sheets("Etiquettes").HPageBreaks.Count + 1
Info = MsgBox("Préparez " & NbPages & " page(s) d'étiquettes.", vbYesNo
+ vbCritical + vbDefaultButton2, "Nombre de pages à imprimer. ")
If Info = vbYes Then
With Sheets("Etiquettes")
.Visible = True
.PrintPreview
.Visible = False
End With
End If
End Sub

La zone d'impression est dynamique (merci Jacques) :
ÞCALER(Etiquettes!$A$1;;;MAX(SI(Etiquettes!$G$2:$G$1024<>"";LIGNE(Eti quet­tes!$A$2:$G$1024);0));7)

J'ai essayé d'ajouter un Calculate après la déclaration des variabl es, mais
le problème persiste.

Merci par avance à qui pourrait me dire où ça coince ?
--
Bien amicordialement,
P. Bastard

Avant d'imprimer ce mail, ayez une pensée pour les arbres.


Avatar
Patrick BASTARD
Bonjour, *Jacques*

Merci pour ta suggestion.

Le problème persiste. Micro climat ?

Je joins à tout hasard le fichier :
http://cjoint.com/?jjswtrfJN1


--
Bien amicordialement,
P. Bastard

Avant d'imprimer ce mail, ayez une pensée pour les arbres.


Bonjour,

Peut être les () manquantes?

NbPages = (Sheets("Etiquettes").VPageBreaks.Count + 1) *
(Sheets("Etiquettes").HPageBreaks.Count + 1)

JB

On 9 sep, 17:11, "Patrick BASTARD"
wrote:
Bonjour, toutes et tous.

Le code suivant ne me donne pas systématiquement le bon nombre de
pages à imprimer.
(problème aléatoire).

Sub Imprime()

Dim NbPages As Byte
Dim Info As String

NbPages = Sheets("Etiquettes").VPageBreaks.Count + 1 *
Sheets("Etiquettes").HPageBreaks.Count + 1
Info = MsgBox("Préparez " & NbPages & " page(s) d'étiquettes.",
vbYesNo + vbCritical + vbDefaultButton2, "Nombre de pages à
imprimer. ") If Info = vbYes Then
With Sheets("Etiquettes")
.Visible = True
.PrintPreview
.Visible = False
End With
End If
End Sub

La zone d'impression est dynamique (merci Jacques) :
ÞCALER(Etiquettes!$A$1;;;MAX(SI(Etiquettes!$G$2:$G$1024<>"";LIGNE(Etiquet­tes!$A$2:$G$1024);0));7)

J'ai essayé d'ajouter un Calculate après la déclaration des
variables, mais le problème persiste.

Merci par avance à qui pourrait me dire où ça coince ?
--
Bien amicordialement,
P. Bastard

Avant d'imprimer ce mail, ayez une pensée pour les arbres.




Avatar
JB
Je n'ai pas testé mais il manque des parenthèses:


NbPages = (Sheets("Etiquettes").VPageBreaks.Count + 1*
Sheets("Etiquettes").HPageBreaks.Count + 1)

Avec parenthèses:

NbPages = (Sheets("Etiquettes").VPageBreaks.Count + 1) *
(Sheets("Etiquettes").HPageBreaks.Count + 1)

JB

On 9 sep, 18:25, "Patrick BASTARD"
wrote:
Bonjour, *Jacques*

Merci pour ta suggestion.

Le problème persiste. Micro climat ?

Je joins à tout hasard le fichier :http://cjoint.com/?jjswtrfJN1

--
Bien amicordialement,
P. Bastard

Avant d'imprimer ce mail, ayez une pensée pour les arbres.



Bonjour,

Peut être les () manquantes?

NbPages = (Sheets("Etiquettes").VPageBreaks.Count + 1) *
(Sheets("Etiquettes").HPageBreaks.Count + 1)

JB

On 9 sep, 17:11, "Patrick BASTARD"
wrote:
Bonjour, toutes et tous.

Le code suivant ne me donne pas systématiquement le bon nombre de
pages à imprimer.
(problème aléatoire).

Sub Imprime()

Dim NbPages As Byte
Dim Info As String

NbPages = Sheets("Etiquettes").VPageBreaks.Count + 1 *
Sheets("Etiquettes").HPageBreaks.Count + 1
Info = MsgBox("Préparez " & NbPages & " page(s) d'étiquettes .",
vbYesNo + vbCritical + vbDefaultButton2, "Nombre de pages à
imprimer. ") If Info = vbYes Then
With Sheets("Etiquettes")
.Visible = True
.PrintPreview
.Visible = False
End With
End If
End Sub

La zone d'impression est dynamique (merci Jacques) :
ÞCALER(Etiquettes!$A$1;;;MAX(SI(Etiquettes!$G$2:$G$1024<>"";LIGNE( Etiquet­­tes!$A$2:$G$1024);0));7)

J'ai essayé d'ajouter un Calculate après la déclaration des
variables, mais le problème persiste.

Merci par avance à qui pourrait me dire où ça coince ?
--
Bien amicordialement,
P. Bastard

Avant d'imprimer ce mail, ayez une pensée pour les arbres.- Masquer le texte des messages précédents -



- Afficher le texte des messages précédents -




Avatar
Patrick BASTARD
Bonjour, *Jacques*

J'ai rajouté les parenthèses manquantes de chaque côté de l'opérateur
produit et ...
... le phénomène perdure !
Le bon nombre de pages n'est calculé qu'à la 2° exécution de la macro (ce
qui laisse entrevoir une solution, - certes pas très élégante ! ).

Si tu souhaites tester, 8 étiquettes par page, l'édition des étiquettes est
tributaire de la présence d'une date en colonnes K ou L de la feuille SAV.

Encore merci pour tes conseils,

--
Bien amicordialement,
P. Bastard

Avant d'imprimer ce mail, ayez une pensée pour les arbres.

Je n'ai pas testé mais il manque des parenthèses:


NbPages = (Sheets("Etiquettes").VPageBreaks.Count + 1*
Sheets("Etiquettes").HPageBreaks.Count + 1)

Avec parenthèses:

NbPages = (Sheets("Etiquettes").VPageBreaks.Count + 1) *
(Sheets("Etiquettes").HPageBreaks.Count + 1)

JB

On 9 sep, 18:25, "Patrick BASTARD"
wrote:
Bonjour, *Jacques*

Merci pour ta suggestion.

Le problème persiste. Micro climat ?

Je joins à tout hasard le fichier :http://cjoint.com/?jjswtrfJN1

--
Bien amicordialement,
P. Bastard

Avant d'imprimer ce mail, ayez une pensée pour les arbres.



Bonjour,

Peut être les () manquantes?

NbPages = (Sheets("Etiquettes").VPageBreaks.Count + 1) *
(Sheets("Etiquettes").HPageBreaks.Count + 1)

JB

On 9 sep, 17:11, "Patrick BASTARD"
wrote:
Bonjour, toutes et tous.

Le code suivant ne me donne pas systématiquement le bon nombre de
pages à imprimer.
(problème aléatoire).

Sub Imprime()

Dim NbPages As Byte
Dim Info As String

NbPages = Sheets("Etiquettes").VPageBreaks.Count + 1 *
Sheets("Etiquettes").HPageBreaks.Count + 1
Info = MsgBox("Préparez " & NbPages & " page(s) d'étiquettes.",
vbYesNo + vbCritical + vbDefaultButton2, "Nombre de pages à
imprimer. ") If Info = vbYes Then
With Sheets("Etiquettes")
.Visible = True
.PrintPreview
.Visible = False
End With
End If
End Sub

La zone d'impression est dynamique (merci Jacques) :
ÞCALER(Etiquettes!$A$1;;;MAX(SI(Etiquettes!$G$2:$G$1024<>"";LIGNE(Etiquet­­tes!$A$2:$G$1024);0));7)

J'ai essayé d'ajouter un Calculate après la déclaration des
variables, mais le problème persiste.

Merci par avance à qui pourrait me dire où ça coince ?
--
Bien amicordialement,
P. Bastard

Avant d'imprimer ce mail, ayez une pensée pour les arbres.-
Masquer le texte des messages précédents -



- Afficher le texte des messages précédents -






Avatar
JB
Essaie:
nbpages = ExecuteExcel4Macro("GET.DOCUMENT(50)")

JB

On 9 sep, 19:32, "Patrick BASTARD"
wrote:
Bonjour, *Jacques*

J'ai rajouté les parenthèses manquantes de chaque côté de l'opé rateur
produit et ...
... le phénomène perdure !
Le bon nombre de pages n'est calculé qu'à la 2° exécution de la m acro (ce
qui laisse entrevoir une solution, - certes pas très élégante ! ).

Si tu souhaites tester, 8 étiquettes par page, l'édition des étique ttes est
tributaire de la présence d'une date en colonnes K ou L de la feuille S AV.

Encore merci pour tes conseils,

--
Bien amicordialement,
P. Bastard

Avant d'imprimer ce mail, ayez une pensée pour les arbres.



Je n'ai pas testé mais il manque des parenthèses:

NbPages = (Sheets("Etiquettes").VPageBreaks.Count + 1*
Sheets("Etiquettes").HPageBreaks.Count + 1)

Avec parenthèses:

NbPages = (Sheets("Etiquettes").VPageBreaks.Count + 1) *
(Sheets("Etiquettes").HPageBreaks.Count + 1)

JB

On 9 sep, 18:25, "Patrick BASTARD"
wrote:
Bonjour, *Jacques*

Merci pour ta suggestion.

Le problème persiste. Micro climat ?

Je joins à tout hasard le fichier :http://cjoint.com/?jjswtrfJN1

--
Bien amicordialement,
P. Bastard

Avant d'imprimer ce mail, ayez une pensée pour les arbres.

Bonjour,

Peut être les () manquantes?

NbPages = (Sheets("Etiquettes").VPageBreaks.Count + 1) *
(Sheets("Etiquettes").HPageBreaks.Count + 1)

JB

On 9 sep, 17:11, "Patrick BASTARD"
wrote:
Bonjour, toutes et tous.

Le code suivant ne me donne pas systématiquement le bon nombre de
pages à imprimer.
(problème aléatoire).

Sub Imprime()

Dim NbPages As Byte
Dim Info As String

NbPages = Sheets("Etiquettes").VPageBreaks.Count + 1 *
Sheets("Etiquettes").HPageBreaks.Count + 1
Info = MsgBox("Préparez " & NbPages & " page(s) d'étiquett es.",
vbYesNo + vbCritical + vbDefaultButton2, "Nombre de pages à
imprimer. ") If Info = vbYes Then
With Sheets("Etiquettes")
.Visible = True
.PrintPreview
.Visible = False
End With
End If
End Sub

La zone d'impression est dynamique (merci Jacques) :
ÞCALER(Etiquettes!$A$1;;;MAX(SI(Etiquettes!$G$2:$G$1024<>"";LIGN E(Etiquet­­­tes!$A$2:$G$1024);0));7)

J'ai essayé d'ajouter un Calculate après la déclaration des
variables, mais le problème persiste.

Merci par avance à qui pourrait me dire où ça coince ?
--
Bien amicordialement,
P. Bastard

Avant d'imprimer ce mail, ayez une pensée pour les arbres.-
Masquer le texte des messages précédents -



- Afficher le texte des messages précédents -- Masquer le texte de s messages précédents -



- Afficher le texte des messages précédents -






Avatar
Patrick BASTARD
Bonsoir, *Jacques*

Essaie:
nbpages = ExecuteExcel4Macro("GET.DOCUMENT(50)")


Ah les XLM ...
Mais, hélàs, pas mieux...
Il semblerait que, pour la syntaxe précédente :
NbPages = (Sheets("Etiquettes").VPageBreaks.Count + 1)
*(Sheets("Etiquettes").HPageBreaks.Count + 1)
le calcul du nombre de pages ne se fasse qu'à postériori (?), dans le cas
présent, après l'affichage avant impression.

Grrr...
--
Bien amicordialement,
P. Bastard

Avant d'imprimer ce mail, ayez une pensée pour les arbres.

JB

On 9 sep, 19:32, "Patrick BASTARD"
wrote:
Bonjour, *Jacques*

J'ai rajouté les parenthèses manquantes de chaque côté de l'opérateur
produit et ...
... le phénomène perdure !
Le bon nombre de pages n'est calculé qu'à la 2° exécution de la
macro (ce qui laisse entrevoir une solution, - certes pas très
élégante ! ).

Si tu souhaites tester, 8 étiquettes par page, l'édition des
étiquettes est tributaire de la présence d'une date en colonnes K ou
L de la feuille SAV.

Encore merci pour tes conseils,

--
Bien amicordialement,
P. Bastard

Avant d'imprimer ce mail, ayez une pensée pour les arbres.



Je n'ai pas testé mais il manque des parenthèses:

NbPages = (Sheets("Etiquettes").VPageBreaks.Count + 1*
Sheets("Etiquettes").HPageBreaks.Count + 1)

Avec parenthèses:

NbPages = (Sheets("Etiquettes").VPageBreaks.Count + 1) *
(Sheets("Etiquettes").HPageBreaks.Count + 1)

JB

On 9 sep, 18:25, "Patrick BASTARD"
wrote:
Bonjour, *Jacques*

Merci pour ta suggestion.

Le problème persiste. Micro climat ?

Je joins à tout hasard le fichier :http://cjoint.com/?jjswtrfJN1

--
Bien amicordialement,
P. Bastard

Avant d'imprimer ce mail, ayez une pensée pour les arbres.

Bonjour,

Peut être les () manquantes?

NbPages = (Sheets("Etiquettes").VPageBreaks.Count + 1) *
(Sheets("Etiquettes").HPageBreaks.Count + 1)

JB

On 9 sep, 17:11, "Patrick BASTARD"
wrote:
Bonjour, toutes et tous.

Le code suivant ne me donne pas systématiquement le bon nombre de
pages à imprimer.
(problème aléatoire).

Sub Imprime()

Dim NbPages As Byte
Dim Info As String

NbPages = Sheets("Etiquettes").VPageBreaks.Count + 1 *
Sheets("Etiquettes").HPageBreaks.Count + 1
Info = MsgBox("Préparez " & NbPages & " page(s)
d'étiquettes.", vbYesNo + vbCritical + vbDefaultButton2, "Nombre
de pages à imprimer. ") If Info = vbYes Then
With Sheets("Etiquettes")
.Visible = True
.PrintPreview
.Visible = False
End With
End If
End Sub

La zone d'impression est dynamique (merci Jacques) :
ÞCALER(Etiquettes!$A$1;;;MAX(SI(Etiquettes!$G$2:$G$1024<>"";LIGNE(Etiquet­­­tes!$A$2:$G$1024);0));7)

J'ai essayé d'ajouter un Calculate après la déclaration des
variables, mais le problème persiste.

Merci par avance à qui pourrait me dire où ça coince ?
--
Bien amicordialement,
P. Bastard

Avant d'imprimer ce mail, ayez une pensée pour les arbres.-
Masquer le texte des messages précédents -



- Afficher le texte des messages précédents -- Masquer le texte
des messages précédents -



- Afficher le texte des messages précédents -