Création de boucle (incrémentation cellule + impression)
Bonjour à tous,
Après plusieurs recherches sur plusieurs forums, je ne parviens toujours pas à solutionner mon problème, je vous explique :
Ce fichier Excel en pj, est un cahier que j'imprime en début d'année. La "Feuill4" est composer de 5 pages :
- Colonne A à H -> page 1
- Colonne I à P -> page 2
- Colonne Q à X -> page 3
- Colonne Y à AE -> page 4
- Colonne AF à AL -> page 5
Je modifie manuellement les casses C1, K1, S1, Z1 et AG1 (numéro de semaine) pour incrémenter les semaines de l'année de 1 à 52.
Exemple,
Je modifie la semaine:
C1 = 1
K1 = 1
S1 = 1
Z1 = 1
AG1 = 1
Ensuite je recommence au début et j'imprime (modification semaine).
J'aimerais pouvoir automatiser ce système pour gagner du temps en fin d'année...
J'ai commencé un léger code ci-dessous qui risque d'être très long si je n'intègre pas de boucle, mais je n'y arrive pas...
Pouvez-vous m'aider à trouver une solution à mon problème ?
Merci d'avance pour vos réponse et bonne journée
Sub ImprimAnnee()
'
' ImprimAnnee Macro
'
'
Sheets("Feuil4").Select
Range("C1").Select
ActiveCell.FormulaR1C1 = "1"
Range("K1").Select
ActiveCell.FormulaR1C1 = "1"
Range("S1").Select
ActiveCell.FormulaR1C1 = "1"
Range("Z1").Select
ActiveCell.FormulaR1C1 = "1"
Range("AG1").Select
ActiveCell.FormulaR1C1 = "1"
ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True, _
IgnorePrintAreas:=False
' Semaine suivante etc
Sheets("Feuil4").Select
Range("C1").Select
ActiveCell.FormulaR1C1 = "2"
Range("K1").Select
ActiveCell.FormulaR1C1 = "2"
Range("S1").Select
ActiveCell.FormulaR1C1 = "2"
Range("Z1").Select
ActiveCell.FormulaR1C1 = "2"
Range("AG1").Select
ActiveCell.FormulaR1C1 = "2"
ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True, _
IgnorePrintAreas:=False
End Sub
Salut,
Le code ci-dessous devrait faire l'affaire.
Sub ImprimAnnee()
Dim i As Byte
For i = 1 To 53
With Sheets("Feuil4")
.Range("A1") = "Page n°1 - Semaine n°"
.Range("I1") = "Page n°2 - Semaine n°"
.Range("Q1") = "Page n°3 - Semaine n°"
.Range("Y1") = "Page n°4 - Semaine n°"
.Range("AF1") = "Page n°5 - Semaine n°"
.Range("C1, K1, S1 , Z1, AG1") = i
.PrintOut
End With
Next i
End SubCordialement.
Salut,
Merci beaucoup pour ton code, tout fonctionne correctement !
Bonne journée
A propos, pourquoi ne laisserais-tu pas les textes en A1, I1, Q1, Y1 et AF1 en place ?
J'ai été trompé par la macro en place dans ton fichier et ai foncé tête baissée dans le panneau.
Ton code final :
Sub ImprimAnnee()
Dim i As Byte
For i = 1 To 53
With Sheets("Feuil4")
.Range("C1, K1, S1 , Z1, AG1") = i
.PrintOut
End With
Next i
End SubAmicalement