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 :

  1. Colonne A à H -> page 1
  2. Colonne I à P -> page 2
  3. Colonne Q à X -> page 3
  4. Colonne Y à AE -> page 4
  5. 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
12essai.zip (17.96 Ko)

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 Sub

Cordialement.

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 Sub

Amicalement

Rechercher des sujets similaires à "creation boucle incrementation impression"