Remise à zéro compteur VBA

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

Max60150

XLDnaute Junior
Bonjour 🙄


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 !!
 
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
 
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 🙂
 
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
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
2
Affichages
361
Réponses
2
Affichages
329
  • Question Question
Microsoft 365 Export données
Réponses
4
Affichages
482
Réponses
7
Affichages
533
Retour