Remise à zéro compteur VBA

Max60150

XLDnaute Junior
Bonjour :rolleyes:


Je ne suis pas certain de l'exactitude de mon titre, mais je ne savais pas quoi mettre d'autres lol !
Alors voila mon problème, j'ai trouvé un code VBA visant à incrémenter une celulle à chaque impression via une boite de dialogue qui bloque la fenêtre habituelle d'impression. Bref, ça, sa fonctionne.
Je voudrais par contre ajouter une autre celulle qui s'incrémente de la même façon ( jusque la ok ), mais qui une fois à une certaine valeure, reparte à zéro !
Par exemple, j'incrémente ma celulle A1 a chaque impression, en A2 j'inscris au hasard 40, il faudrait simplement que une fois que A1 arrive a 40, le compteur reprenne à 1 !
Sa doit pas être difficile mais je ne trouve pas la solution.

Je colle mon code actuel,

Code:
Sub Imprimer()
Dim n As Variant
1 n = InputBox("Nombre de copies :", "Imprimer")
If n = "" Then Exit Sub
If Val(n) = 0 Then GoTo 1
Application.EnableEvents = False 'évite le lancement de BeforePrint
With ActiveSheet
  For n = 1 To Val(n)
    .[I8] = .[I8] + 1 'numérotation
    .[S1] = .[S1] + 1 'numérotation
    If [S1] > [R1] ....
    .PrintOut
  Next
End With
Application.EnableEvents = True
End Sub

La cellule I8 est mon compteur d'impression, la cellule S1 est le compteur qu'il faudrait remettre à 1 si la valeur atteint celle d'une autre cellule, ici R1.

Voila voila, je suis là pour les questions si besoin, merci d'avance !!
 

jpb388

XLDnaute Accro
Re : Remise à zéro compteur VBA

Bonjour à tous

si j'ai bien compris

Code:
Sub Imprimer()
 Dim n%
 Do
 n = Application.InputBox("Nombre de copies :", "Imprimer", , , , , , 1)
Loop Until n <> False
[r1] = n
Application.EnableEvents = False 'évite le lancement de BeforePrint
 With ActiveSheet
   For n = 1 To n
     .[I8] = .[I8] + 1 'numérotation
     .[S1] = .[S1] + 1 'numérotation
     If [S1] > [r1] Then [S1] = 1
     '.PrintOut
   Next
 End With
 Application.EnableEvents = True
 End Sub
 

Max60150

XLDnaute Junior
Re : Remise à zéro compteur VBA

c'est parfait merci les gars, effectivement c'était pas difficile xD

Puis-je reposer une petite question sans rouvrir un poste?

Je cherche a faire une fichier de 3 pages, la première étant en orientation portrait, et les deux autres en paysage, est-ce possible sur la meme feuille excel?

Merciii :)
 

jpb388

XLDnaute Accro
Re : Remise à zéro compteur VBA

re

bonjour Grand Chaman Excel comment va?

Max60150 :
si 3 feuilles differentes alors avant printout mettre une formule du style
Code:
    If n = 1 Then .PageSetup.Orientation = xlPortrait Else .PageSetup.Orientation = xlLandscape

si c'est la même feuille mais sur 3 pages alors il faudra insérer des sauts de page

n'oublie pas l'onglet mise en page
 

Discussions similaires

Statistiques des forums

Discussions
312 305
Messages
2 087 080
Membres
103 457
dernier inscrit
fab2614