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

determiner le nombre de page à imprimer

4 réponses
Avatar
Donnazac
Bonsoir,
Comment savoir combien il y aura de pages à imprimer sachant que j'ai des
formules incrementées et que je n'imprime que lorsque il y a des valeurs non
nulles exemple: j'ai 500 lignes remplies de formules si lors du calcul je
n'en ai que les cent premières lignes si je demande à imprimer --> tout est
imprimer mm les lignes vides (on ne voit que les pointillés des bordures) .
En fait word considère les cellules contenant des formules comme
potentiellement imprimable Voici la macro que j'avais mis ds un bouton
"imprim" mais cela ne marche pas :
Private Sub AdImp_Click()
Worksheets("Adresses").Unprotect
'zone d'impression
On Error Resume Next
nbLigneAd = Worksheets("Adresses").Range("A1").Value + 3 'A1
= le nb de lignes avec des valeurs
terreAdImp = Range(Cells(2, "A"), Cells(nbLigneAd, "I")).Address
'Adresse de la zone remplie
ActiveSheet.PageSetup.PrintArea = terreAdImp
ActiveWindow.SelectedSheets.PrintPreview
Worksheets("Adresses").Protect
End Sub
Merci de m'aider car je ne comprends pas pourquoi cela me sort dans le
calcul présent 26 pages dont 13 sont remplies de valeurs et le reste n'a que
des lignes de pointillées vides donc inutiles.
Avec tous mes remerciements
Anne-Marie

4 réponses

Avatar
Donnazac
Bonjour,
J'ai essayé la macro , elle marche bien mais elle ne me propose que 2 pages
à imprimer alors qu'en fait j'en ai 13. Je vais essayer de m'expliquer : je
travaille benevolement pour une assos j'ai une liste d'adhérents dont chacun
fait une ou plusieurs activités modifiable par trimestre donc j'ai créé un
masque de saisie, une macro le lit et ecrit ds une feuille 'global" tous les
adhérents et leurs activités puis ds la feuille "adresse" je récupère que
les adresses dont je compte en A1 le nombre d'adhérents puis ds la feuille
activités j'ai fait une macro qui inscrit l'adhérent et l'activité (sachant
que l'activité je la choisi ds une combo box) donc en fonction de l'activité
j'ai plus ou moins de ligne mais j'ai largement recopié les formules, mais
cela imprime tout alors que je voudrai imprimer que la liste .
Ce que je comprends pas c'est que je délimite la zone :
terreAdImp = .Range(.Cells(2, "A"), .Cells(nbLigneAd, "I")).Address cela
delimite la zone donc cela devrait m'imprimer que cette zone
Y aurait-il un moyen de compter ponctuellement le nombre de ligne avec
valeurs non nulles faisant abstraction de l'existence de formules.
Merci beaucoup pour votre aide
Anne-Marie

"michdenis" a écrit dans le message de
news:%
Bonsoir Anne-Marie,


Voici ta procédure modifiée :

Cette procédure devrait fonctionner si l'information contenue dans la
cellule A1 de la feuille est bonne. Et comme tu ne

dis pas comment tu procèdes pour définir cette valeur ...il est difficile
d'aller plus loin !


'---------------------------------
Private Sub AdImp_Click()

Dim nbLigneAd As Long, terreAdImp As String

With Worksheets("Adresses")
.Unprotect
'zone d'impression
'On Error Resume Next
nbLigneAd = .Range("A1").Value + 3
'A1= le nb de lignes avec des valeurs
terreAdImp = .Range(.Cells(2, "A"), .Cells(nbLigneAd, "I")).Address
'Adresse de la zone remplie
.PageSetup.PrintArea = terreAdImp
If MsgBox("Nombre de pages à imprimer : " _
& .HPageBreaks.Count + 1, vbinformatiion + vbYesNo, _
"Nombre de pages à imprimer") = vbYes Then
.PrintPreview
End If
.Protect
End With

End Sub
'---------------------------------


Salutations!


"Donnazac" a écrit dans le message de
news:O5RxIA$

Bonsoir,
Comment savoir combien il y aura de pages à imprimer sachant que j'ai des
formules incrementées et que je n'imprime que lorsque il y a des valeurs
non

nulles exemple: j'ai 500 lignes remplies de formules si lors du calcul je
n'en ai que les cent premières lignes si je demande à imprimer --> tout
est

imprimer mm les lignes vides (on ne voit que les pointillés des bordures)
.

En fait word considère les cellules contenant des formules comme
potentiellement imprimable Voici la macro que j'avais mis ds un bouton
"imprim" mais cela ne marche pas :
Private Sub AdImp_Click()
Worksheets("Adresses").Unprotect
'zone d'impression
On Error Resume Next
nbLigneAd = Worksheets("Adresses").Range("A1").Value + 3
'A1

= le nb de lignes avec des valeurs
terreAdImp = Range(Cells(2, "A"), Cells(nbLigneAd, "I")).Address
'Adresse de la zone remplie
ActiveSheet.PageSetup.PrintArea = terreAdImp
ActiveWindow.SelectedSheets.PrintPreview
Worksheets("Adresses").Protect
End Sub
Merci de m'aider car je ne comprends pas pourquoi cela me sort dans le
calcul présent 26 pages dont 13 sont remplies de valeurs et le reste n'a
que

des lignes de pointillées vides donc inutiles.
Avec tous mes remerciements
Anne-Marie





Avatar
Robert Dezan
Bonsoir,
Pour calculer le nb de page à imprimer, il existe une méthode issue
d'Excel 4 mais un peu oubliée semble-t'il :
Renvoi du nombre de pages qui seront imprimées conformément
aux paramètres en cours pour la feuille active, à l'exclusion des
annotations.
Il n'y a pas d'équivalent en Visual Basic.
=ExecuteExcel4Macro("Get.DOCUMENT(51)")
Cordialement
Robert Dezan

"Donnazac" a écrit dans le message de
news:O5RxIA$
Bonsoir,
Comment savoir combien il y aura de pages à imprimer sachant que j'ai des
formules incrementées et que je n'imprime que lorsque il y a des valeurs non
nulles exemple: j'ai 500 lignes remplies de formules si lors du calcul je
n'en ai que les cent premières lignes si je demande à imprimer --> tout est
imprimer mm les lignes vides (on ne voit que les pointillés des bordures) .
En fait word considère les cellules contenant des formules comme
potentiellement imprimable Voici la macro que j'avais mis ds un bouton
"imprim" mais cela ne marche pas :
Private Sub AdImp_Click()
Worksheets("Adresses").Unprotect
'zone d'impression
On Error Resume Next
nbLigneAd = Worksheets("Adresses").Range("A1").Value + 3 'A1
= le nb de lignes avec des valeurs
terreAdImp = Range(Cells(2, "A"), Cells(nbLigneAd, "I")).Address
'Adresse de la zone remplie
ActiveSheet.PageSetup.PrintArea = terreAdImp
ActiveWindow.SelectedSheets.PrintPreview
Worksheets("Adresses").Protect
End Sub
Merci de m'aider car je ne comprends pas pourquoi cela me sort dans le
calcul présent 26 pages dont 13 sont remplies de valeurs et le reste n'a que
des lignes de pointillées vides donc inutiles.
Avec tous mes remerciements
Anne-Marie




Avatar
michdenis
Bonjour Robert,

Je crois que le numéro de la ligne de code est plutôt 50 comme dans :

=ExecuteExcel4Macro("Get.DOCUMENT(50)")

"Il n'y a pas d'équivalent en Visual Basic"

Observe la procédure soumise, il y a bien une autre façon de faire et je crois que c'est du Visual Basic...

;-)


Salutations!



"Robert Dezan" a écrit dans le message de news:
Bonsoir,
Pour calculer le nb de page à imprimer, il existe une méthode issue
d'Excel 4 mais un peu oubliée semble-t'il :
Renvoi du nombre de pages qui seront imprimées conformément
aux paramètres en cours pour la feuille active, à l'exclusion des
annotations.
Il n'y a pas d'équivalent en Visual Basic.
=ExecuteExcel4Macro("Get.DOCUMENT(51)")
Cordialement
Robert Dezan

"Donnazac" a écrit dans le message de
news:O5RxIA$
Bonsoir,
Comment savoir combien il y aura de pages à imprimer sachant que j'ai des
formules incrementées et que je n'imprime que lorsque il y a des valeurs non
nulles exemple: j'ai 500 lignes remplies de formules si lors du calcul je
n'en ai que les cent premières lignes si je demande à imprimer --> tout est
imprimer mm les lignes vides (on ne voit que les pointillés des bordures) .
En fait word considère les cellules contenant des formules comme
potentiellement imprimable Voici la macro que j'avais mis ds un bouton
"imprim" mais cela ne marche pas :
Private Sub AdImp_Click()
Worksheets("Adresses").Unprotect
'zone d'impression
On Error Resume Next
nbLigneAd = Worksheets("Adresses").Range("A1").Value + 3 'A1
= le nb de lignes avec des valeurs
terreAdImp = Range(Cells(2, "A"), Cells(nbLigneAd, "I")).Address
'Adresse de la zone remplie
ActiveSheet.PageSetup.PrintArea = terreAdImp
ActiveWindow.SelectedSheets.PrintPreview
Worksheets("Adresses").Protect
End Sub
Merci de m'aider car je ne comprends pas pourquoi cela me sort dans le
calcul présent 26 pages dont 13 sont remplies de valeurs et le reste n'a que
des lignes de pointillées vides donc inutiles.
Avec tous mes remerciements
Anne-Marie




Avatar
Donnazac
Bonsoir ,
Merci à vous tous je vais faire les 2 solutions et voir celle qui me
convient.
encore merci
Amicalement
Anne-Marie


"michdenis" expériences
com> a écrit dans le message de
news:
Bonjour Robert,

Je crois que le numéro de la ligne de code est plutôt 50 comme dans :

=ExecuteExcel4Macro("Get.DOCUMENT(50)")

"Il n'y a pas d'équivalent en Visual Basic"

Observe la procédure soumise, il y a bien une autre façon de faire et je
crois que c'est du Visual Basic...


;-)


Salutations!



"Robert Dezan" a écrit dans le message de
news:

Bonsoir,
Pour calculer le nb de page à imprimer, il existe une méthode issue
d'Excel 4 mais un peu oubliée semble-t'il :
Renvoi du nombre de pages qui seront imprimées conformément
aux paramètres en cours pour la feuille active, à l'exclusion des
annotations.
Il n'y a pas d'équivalent en Visual Basic.
=ExecuteExcel4Macro("Get.DOCUMENT(51)")
Cordialement
Robert Dezan

"Donnazac" a écrit dans le message de
news:O5RxIA$
Bonsoir,
Comment savoir combien il y aura de pages à imprimer sachant que j'ai
des


formules incrementées et que je n'imprime que lorsque il y a des valeurs
non


nulles exemple: j'ai 500 lignes remplies de formules si lors du calcul
je


n'en ai que les cent premières lignes si je demande à imprimer --> tout
est


imprimer mm les lignes vides (on ne voit que les pointillés des
bordures) .


En fait word considère les cellules contenant des formules comme
potentiellement imprimable Voici la macro que j'avais mis ds un bouton
"imprim" mais cela ne marche pas :
Private Sub AdImp_Click()
Worksheets("Adresses").Unprotect
'zone d'impression
On Error Resume Next
nbLigneAd = Worksheets("Adresses").Range("A1").Value + 3
'A1


= le nb de lignes avec des valeurs
terreAdImp = Range(Cells(2, "A"), Cells(nbLigneAd, "I")).Address
'Adresse de la zone remplie
ActiveSheet.PageSetup.PrintArea = terreAdImp
ActiveWindow.SelectedSheets.PrintPreview
Worksheets("Adresses").Protect
End Sub
Merci de m'aider car je ne comprends pas pourquoi cela me sort dans le
calcul présent 26 pages dont 13 sont remplies de valeurs et le reste n'a
que


des lignes de pointillées vides donc inutiles.
Avec tous mes remerciements
Anne-Marie